:R 语言画图中文字体解决方案-字体教程免费ppt模版下载-道格办公

R 语言画图中文字体解决方案

您好!我可以为您提供关于R语言画图中文字体解决方案的帮助。请问您需要什么样的帮助?

编者荐语:

昨天美格基因向大家分享了WGCNA的实用干货,今天趁热打铁,给大家分享R语言画图中文字体解决方案!

在某些时候,需要在R画图中添加中文,但是默认情况下,R对中文的支持不好。这里推荐一个showtext的R包。如果需要将含有中文字体的图形保存为pdf文件,可以使用下面讲到的方案,最新版的showtext已经支持了ggplot2,推荐使用此种方案。

这样,在你写的R代码中,开头添加:
library(showtext)showtext_auto(enable=True)    # 表示之后用上同样的字体font_add("kaishu""simkai.ttf"# 如果系统已经安装了该字体,可以通过这种方式调用font_add('SimSun', regular = '/Library/Fonts/Microsoft/SimSun.ttf'#添加字体, 必须给定指定的字体的位置
  • 如果你使用的是Mac,可以打开fontbook,查找你想要字体的位置。如SimSun字对应于 /Library/Fonts/Microsoft/SimSun.ttf 文件。

  • 如果你使用的是Linux,字体应该位于 /usr/share/fonts  目录下。

示例

来一个示例,示例后面有各个函数的解释。
  • 检查系统是否已经安装目标字体

shenweiyan@ecs-steven 22:23:35 /home/shenweiyan$ fc-list |grep SimSun/usr/share/fonts/chinese/simsun.ttc: NSimSun,新宋体:style=Regular/usr/share/fonts/chinese/simsun.ttc: SimSun,宋体:style=Regular
  • 使用  showtext>

library(showtext)showtext_auto(enable=True)font_add('SimSun', "simsun.ttc")set.seed(123)## For now we are using a device functions to draw axis labelsplot(1, xlim = c(-33), ylim = c(-33), type = "n")## Then turn showtext on and draw some charactersshowtext_begin()text(runif(100-33), runif(100-33),      intToUtf8(round(runif(1002020030000)), multiple=TRUE),      col=rgb(runif(100), runif(100), runif(100), 0.5 + runif(100)/2),      cex=2, family="SimSun")title("随机汉字", family="SimSun")showtext_end()
  • 查看当前R 的会话信息

> sessionInfo()R version 3.6.2 (2019-12-12)Platform: x86_64-conda_cos6-linux-gnu (64-bit)Running under: CentOS Linux 7 (Core)Matrix products: defaultBLAS/LAPACK: /usr/local/software/miniconda3/lib/libopenblasp-r0.3.7.solocale: [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C [9] LC_ADDRESS=C               LC_TELEPHONE=C[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=Cattached base packages:[1] stats     graphics  grDevices utils     datasets  methods   baseother attached packages:[1] showtext_0.7   showtextdb_2.0 sysfonts_0.8loaded via a namespace (and not attached):[1] compiler_3.6.2

学习几个R函数

runif()是R语言生成均匀分布随机数的函数,句法是:runif(n,min=0,max=1),其中>
> runif(501)     # 生成5个[0,1]的均匀分布的随机数[10.5993 0.7391 0.2617 0.5077 0.7199 > runif(5)           # 默认生成5个[0,1]上的均匀分布随机数[10.2784 0.7755 0.4107 0.8392 0.7455

round是R语言里的“四舍五入”的函数,具体的规则采用banker'srounding,即四舍六入五留双规则(wiki)。round的原型是round(x,digits=0),digits>

> c <- c(1.41.61.52.52.51)> round(c)[11 2 2 2 3

intToUtf8是一个将整数向量转换为或转换为Utf-8编码字符向量的函数,与之对应的函数是utf8ToInt——>

> utf8ToInt("沈维燕")[127784 32500 29141> intToUtf8(c(2778432500,29141))[1"沈维燕"> intToUtf8(c(2778432500,29141), multiple=TRUE)    # multiple: 转换为单个字符串还是多个单独的字符[1"沈" "维" "燕"

扫描二维码

获取更多精彩

美格基因

致尊敬的您:

美格基因专注微生物组学领域,不断拓展基因组学在环境、生态、农业和医学健康领域的应用,持续开发国际领先的产品和服务,致力于成为全球领先的微生物组学产品和服务提供者。

公司已开拓的业务领域有:16S/18S/ITS测序;16S全长测序;GeoChip、宏基因组、宏转录组、宏病毒组测序;单菌框架图、完成图。

目前已为清华大学、中国科学院、中山大学、浙江大学、美国佐治亚理工学院、香港科技大学等国内外众多科研学术机构提供了全方位的科研服务,在行业内具备显著影响力。

如您有任何需求和疑问,欢迎随时咨询,美格基因竭诚为您服务!

美格基因全力支持防控疫情
SARS-CoV-2RT-PCR检测系统技术支持:束经理,15820208591
SARS-CoV-2高通量测序技术支持:金博士,13028825882
客服QQ:811480176
邮箱:support@magigene.com
官网:http://www.magigene.com

文章为用户上传,仅供非商业浏览。发布者:Lomu,转转请注明出处: https://www.daogebangong.com/articles/detail/R%20language%20drawing%20Chinese%20font%20solution.html

(810)
打赏 支付宝扫一扫 支付宝扫一扫
single-end

相关推荐