修改ggplot2中的字体
我正在寻找一种修改 ggplot 中字体类型的方法。目前,我很乐意简单地将字体更改为“courier”字体系列,但最终我的目标是调用自定义字体模板 - 对于后一点的任何输入都将非常感激。
我做了一些功课,查看了以下帖子和文章:
- ggplot2:如何更改 geom_text 中标签的字体
- R新闻卷6/2, PostScript 和 PDF 中的非标准字体 图解,默雷尔和里普利。
- ggplot2 图形中的 ComputerModern 字体?
这可能是因为我对 ggplot2 仍然是一个无可救药的业余爱好者,但我什至无法将图表字体切换为 courier。有什么帮助吗?我在下面包含了相关图表的数据以及代码,因此希望这一切都很容易理解。
I am looking for a way to modify font types in ggplot. At the moment I would be happy enough to simply change fonts to the 'courier' font family, but ultimately my goal is to call a custom font template--any input on this latter point would be very much appreciated.
I've done a bit of homework, looking at the following posts and articles:
- ggplot2: How to change font of labels in geom_text
- R News Volume 6/2,
Non-Standard Fonts in PostScript and PDF
Graphic, Murrell and Ripley. - ComputerModern font in ggplot2 graphics?
It may be because I am still a hopeless amateur with ggplot2, but I haven't even been able to switch chart fonts to courier. Any help? I've included the data for the chart in question, below, along with the code, so hopefully this is all easy enough to follow.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
对于我的钱来说,这似乎是最简单的解决方案。
有些在 df 中播放数据,并制作成一个简单的图表“p”,带有漂亮的长 x 和 y 标签,因此我们可以看到字体变化:
并且我们以任何字体查看默认绘图:
现在我们切换到 Optima ,添加一些漂亮的标题和副标题来沐浴 Optima 的荣耀:
毕竟,我们以新字体打印
This seems like the simplest solution, for my money.
Some play data in df, and made into a simple graph, "p", with nice long x and y labels, so we can see the font change:
And we view the default plot in whatever that font is:
Now we switch to Optima, adding some nice title and subtitle to bask in the glory of Optima:
And after all that, we print in the new font
我认为你的答案很好,但你可以做得更简单:
I think your answer is fine but you can do it more simply:
以相当小的麻烦解决了我的查询。这是一个分两步走的解决方案,如果不遵循回复成员的建议,我就不可能达成这一方案。
为了更改 ggplot 文本默认值,我修改了 Brandon 向我推荐的代码:
http ://johndunavent.com/combined-line-and-bar-chart-ggplot2
John Dunavent 在其中创建了一个函数 theme_min,可以对其进行编辑以提供 ggplot 的默认选项,包括使用从 Windows 导入的字体使用 windowsFonts 命令。我对他的代码的改编如下所示:
尴尬的是,(我发现)在创建绘图之前没有办法一般修改 geom_text 对象的字体设置。不过,詹姆斯的上述解决方案对此非常有效。我没有使用标准字体,而是设置了 fontfamily="F" 来引入我在 theme_min() 中选择的自定义字体,即:
希望这对希望修改图表上字体的任何其他用户有用。
向所有帮助我解决这个问题的人干杯!
亚伦
Sorted out my query with fairly minimal hassle. It was a two-step solution that I wouldn't have arrived at without following the advice of the members who responded.
To change the ggplot text defaults, I adapted the code that Brandon referred me to at:
http://johndunavent.com/combined-line-and-bar-chart-ggplot2
Where John Dunavent creates a function, theme_min, that can be edited to provide the default options for a ggplot, including using fonts imported from Windows with the windowsFonts command. My adaptation of his code looks like this:
Awkwardly, there is no way (that I found) to generically modify the font settings for geom_text objects before a plot is created. James' solution above worked perfectly for this, though. Instead of using a standard font, I set fontfamily="F" to bring in the custom font that I selected in theme_min(), i.e.:
Hopefully this is useful to any other users looking to modify fonts on their graphs.
Cheers to all who helped me sort this out!
Aaron
看看 theme_text() 的家族参数
Have a look at the family argument of theme_text()
灵感来自 kohske 博客上的一篇文章我想出了这个:
现在当我想使用那个特定的主题:
YMMV。
顺便说一句,如果我有权力,我会投票否决首选答案:
不确定这意味着什么。我也没有提供评论该答案的链接;也许网站上发生了一些变化。
Inspired by a post on kohske's blog I came up with this:
Now when I want to use that particular theme:
YMMV.
BTW, if I had the power I would vote down the preferred answer:
Not sure what this means. Nor was I offered a link to comment on that answer; maybe something has changed on the site.
您可以使用
grid.gedit
设置由geom_text
生成的标签的字体:在生成原始绘图后调用此方法。
You can set the font of the labels produced by
geom_text
withgrid.gedit
:Call this after you have produced your original plot.
另请查看 Cairo 软件包,它支持将所有字体完全切换为您选择的字体。 http://rforge.net/doc/packages/Cairo/00Index.html
Also check out the Cairo package, which has support for totally switching out all of the fonts with those of your choosing. http://rforge.net/doc/packages/Cairo/00Index.html