mac lion 系统下 R 画图 中文是方框

COS论坛 | 统计之都 讨论区 软件应用 S-Plus & R语言 mac lion 系统下 R 画图 中文是方框

Tagged: , ,

该主题包含 5 条回复,6个帖子,最后由  holydudu11 月 之前 更新。

查看 6 个帖子 - 1 到 6(总计 6 个)
  • 作者
    帖子
  • 1 楼

    lykke
    Participant

    sessionInfo() 的信息如下
    R version 2.15.2 (2012-10-26)
    Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

    locale:
    [1] zh_CN.UTF-8/zh_CN.UTF-8/zh_CN.UTF-8/C/zh_CN.UTF-8/zh_CN.UTF-8

    例如用 wordcloud 做词云的时候 中文全部是显示方框 求问大家 该怎么解决 系统是mac os

    2 楼

    xiaomuyoucun
    Participant

    回复 第1楼 的 lykke:这个问题你解决了吗?请问在linux系统下怎么解决?

    3 楼

    holu
    Participant

    回复 第1楼 的 lykke:
    回复 第2楼 的 xiaomuyoucun:

    我也遇到同样问题了,不知有没有找到解决方法?

    4 楼

    duanziwang
    Participant

    参考这篇 《关于Mac OS X中R作图的字体》
    http://equation85.github.io/blog/graph-font-of-r-in-mac-os-x/ (可能需要翻墙)

    通过FontBook.app可以很容易的查看当前系统中可用的字体,info窗口中可以看到当前字体所支持的语言。通过搜索可以很方便的过滤出支持指定语言的字体,例如中文。

    常规作图函数

    对于plot等常规作图函数,至少有三种方法可以指定字体。

    在打开quartz设备的时候指定

    quartz(family=’STKaiti’)
    通过与设备无关的par指定

    par(family=’STKaiti’)
    在作图函数中指定参数family

    ggplot

    ggplot作图时选择字体的机制似乎有所不同,在quartz和par中进行指定的方法都失效了。此时可以在相应的参数中通过theme_text(family=’STKaiti’)来设置所需字体。有更好的方法欢迎留言

    代码及效果

    d <- data.frame(x=1:5,y=rnorm(5),label=c(‘一’,’二’,’三’,’四’,’五’))
    ### For normal plot functions you could use
    # quartz(family=’STKaiti’)
    ### Or
    # par(family=’STKaiti’)
    ### Or
    plot(d[,1:2],main=’中文’,xlab=’x轴’,ylab=’y轴’,family=’STKaiti’)
    text(d[,1]+0.1,d[,2]-0.1,d[,3],family=’STKaiti’)
    ### ggplot:
    ggplot(d,aes(x,y)) + geom_point() + geom_text(aes(x=x+0.1,y=y-0.1,label=label),family=’STKaiti’) + labs(x=’x轴’,y=’y轴’) + opts(title=’中文’,plot.title=theme_text(family=’STKaiti’),axis.title.x=theme_text(family=’STKaiti’),axis.title.y=theme_text(family=’STKaiti’))

    5 楼

    masterlxh
    Participant

    回复 4 楼duanziwang
    我也遇见了类似的问题,用ggplotgeom_bar的时候(分类变量是城市),下面对应的城市名字显示方框,我这样解决的:

    ggplot(data = Bus_data,aes(Create_city %>>% as.factor())) + 
      geom_histogram() +
      xlab("City") +
      theme_grey(base_family = "STKaiti")

    当然了,使用showtext作图也很方便,只不过你需要打开图形设备。

    6 楼

    holydudu
    Participant

    中文字体倒是解决了,不过发现了另外一个问题,Mac系统R作图里面出现的数学符号全是方框,不知道是哪的问题,设置了family=”Symbol”也不行。
    R version 3.2.3 (2015-12-10)
    Platform: x86_64-apple-darwin13.4.0 (64-bit)
    Running under: OS X 10.10.5 (Yosemite)

    locale:
    [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

    attached base packages:
    [1] stats graphics grDevices utils datasets methods base

    other attached packages:
    [1] reshape2_1.4.1 ggplot2_2.0.0

    loaded via a namespace (and not attached):
    [1] labeling_0.3 colorspace_1.2-6 scales_0.3.0 magrittr_1.5 plyr_1.8.3 tools_3.2.3
    [7] gtable_0.1.2 Rcpp_0.12.3 stringi_1.0-1 grid_3.2.3 stringr_1.0.0 digest_0.6.9
    [13] munsell_0.4.2

查看 6 个帖子 - 1 到 6(总计 6 个)

您必须先登录才能回复该主题。

mac lion 系统下 R 画图 中文是方框》有1个想法

评论已关闭。