zoukankan      html  css  js  c++  java
  • R画图中英文字体完美解决方案

    在某些时候,需要在R画图中添加中文,但是默认情况下,R对中文的支持不好。

    当用R画PDF图,并且图中有中文的时候,安装并加载如下包
    library(showtext)
    然后:
    showtext.auto(enable = TRUE)
    这句命令表示之后用上同样的字体。
    如果要添加字体:
    font.add('SimSun', regular = '/path/to/your/simsun.ttc')
    这个地方要注意,你必须给定指定的字体的位置。
    如果你使用的是MAC,可以打开 font book,查找你想要字体的位置。
    如SimSun:/Library/Fonts/Microsoft/SimSun.ttf
     
    如果需要将含有中文字体的图形保存为pdf文件,同样可以利用前面讲到的方案,最新版的showtext包已经支持了ggplot2,推荐使用此种方案。
     
    showtext包理论上能够调用系统已安装的任何字体,完整的字体列表可以通过font.files()查看。
    这样,在你写的R代码中,开头添加
    library(showtext)
    showtext.auto(enable=True)
    font.add('SimSun', regular = '/Library/Fonts/Microsoft/SimSun.ttf')

    showtext.begin();
    # 一系列绘图命令
    set.seed(123);
    plot(1, xlim = c(-3, 3), ylim = c(-3, 3), type = "n");
    text(runif(100, -3, 3), runif(100, -3, 3),
    intToUtf8(round(runif(100, 19968, 40869)), multiple = TRUE),
    col = rgb(runif(100), runif(100), runif(100), 0.5 + runif(100)/2),
    cex = 2, family = "SimSun");
    title("随机汉字", family = "SimSun");
    # 停止使用showtext
    showtext.end();


     
  • 相关阅读:
    第十三章 部署Java应用程序
    分布式系列五: RMI通信
    分布式系列四: HTTP及HTTPS协议
    分布式系列三: 对象序列化
    程序中的 “负数取模” 问题
    【转】Linux C函数库参考
    【转】 Linux中记录终端输出到txt文本文件
    【转】 #define用法详解
    error: ‘to_string’ was not declared in this scope
    exit() 与 return() 的区别
  • 原文地址:https://www.cnblogs.com/nxld/p/6211379.html
Copyright © 2011-2022 走看看