全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
22104 12
2011-09-02
很多杂志在发表文章的时候要求用Helvetica、Arial或者Times New Roman的字体,而R软件做图的时候并没有提供这些字体。今天在研究这个问题的时候发现一个讨论贴很好:
http://stackoverflow.com/questions/4094094/modifying-fonts-in-ggplot2

使用windowsFonts这个函数就可以达到要求,如下是我自己为了画线性回归而写的一个theme:
library(ggplot2)
windowsFonts(HEL=windowsFont("Helvetica CE 55 Roman"),
             RMN=windowsFont("Times New Roman"),
             ARL=windowsFont("Arial"))
old_theme <- theme_update(
             plot.title=theme_text(family="ARL", size=18, face="bold", colour="black"),
             axis.title.x=theme_text(family="HEL", size=15, colour="black"),
             axis.title.y=theme_text(family="HEL", size=15, angle=90, colour="black"),
             axis.text.x=theme_text(family="RMN", size=11, colour="black"),
             axis.text.y=theme_text(family="RMN", size=11, colour="black"),
             axis.ticks=theme_segment(colour="black"),
             panel.grid.major=theme_blank(),
             panel.grid.minor=theme_blank(),
             panel.background=theme_blank(),
             axis.line=theme_segment(size=1)
             )
运行如上的程序,直接调用函数画图:
运行的效果:
ggplot2的线性回归
我把gglot2里面的背景、框线都给去掉了,当然,上图还需要进一步的修饰,不过离要求已经很近了。折腾了半天的经验跟大家分享一下。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-9-2 22:46:51
这么好的东西,怎么都不顶一下呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-9-5 13:37:03
好东西,帮顶
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-11 23:15:56
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-12 14:13:44
谢谢LZ的精彩分享!

在R15.2上做尝试,发现theme开头的一些函数过期了,按照提示重新调整后正常,代码片段附后
windowsFonts(HEL=windowsFont("Helvetica CE 55 Roman"),
             RMN=windowsFont("Times New Roman"),
             ARL=windowsFont("Arial"))
old_theme <- theme_update(
  plot.title=element_text(family="ARL", size=18, face="bold", colour="black"),
  axis.title.x=element_text(family="HEL", size=15, colour="black"),
  axis.title.y=element_text(family="HEL", size=15, angle=90, colour="black"),
  axis.text.x=element_text(family="RMN", size=11, colour="black"),
  axis.text.y=element_text(family="RMN", size=11, colour="black"),
  axis.ticks=element_line(colour="black"),
  panel.grid.major=element_blank(),
  panel.grid.minor=element_blank(),
  panel.background=element_blank(),
  axis.line=element_line(size=1)
)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-12-13 12:37:04
好强大呀, 学习
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群