我正在尝试绘制一些数据,而我的代码如下所示:
library('ggplot2')
library('tidyr')
library('ggthemes')
library('showtext')
font_add_google('Syncopate', 'Syncopate')
showtext_auto()
ggplot(aes(x = X, group=1), data = glassdoor)+
geom_line(aes(y = col1, color = 'red'))+
geom_line(aes(y = col2, color = 'blue'))+
geom_line(aes(y = col3, color = 'magenta'))+
geom_line(aes(y = col4, color = 'yellow'))+
theme(text = element_text(family = "Syncopate"))+
ggtitle('A Long Test Title')
Syncopate是一种独特的字体,见here。但是我的可视化字体看起来像这样(这是一个测试图,请忽略其整体效果):
但是,如果我加载诸如Times New Roman之类的系统主题,则效果很好。为什么我的Google字体不使用showtext加载?
修改
Jrakru的答案有效,但请记住,您必须运行整个代码块:新字体将显示在已保存的png文件中,而不显示在预览窗口中。这并不是为了解决问题而写的,而是针对像我这样的人,他们希望字体显示在RStudio控制台中,因此省略了代码的ggsave
和png
部分。 / p>
答案 0 :(得分:2)
var ids = jQuery("#listInbox").jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++){
var acnid = ids[i];
// insert drop down for the trending results option
var trendSelect = "<select style=\"width: 195px;\" class=\"trendSelect\"><option value=''>Select Test</option>";
// testid`testname^testid`testname
var trendItems = $('#listInbox').jqGrid('getCell',ids[i],'trending').split('^');
var patName = $('#listInbox').jqGrid('getCell',ids[i],'patname');
// for each trendItem, create an option for the select drop down
for (var t=0; t < trendItems.length; t++) {
var trendPieces = trendItems[t].split('`');
trendSelect += "<option value='" + acnid + "^" + patName + "^" + trendPieces[0] + "^" + trendPieces[1] + "'>" + trendPieces[1] + "</option>";
}
trendSelect += "</select>";
// insert dropdown in cell for this row
$("#listInbox").jqGrid('setRowData',ids[i],{trending:trendSelect});
}
}
的GitHub提到
此示例应可在大多数图形设备上使用,包括pdf(), png(),postscript()和屏幕上的设备,例如Windows() Windows和Linux上的x11()。
如果您在两行之间非常认真地阅读,则表示不支持showtext
图形设备。最初的几次我没有看到。我只知道,因为RStudioGD
更为明确。
注意:当前showtext不适用于内置图形 RStudio的设备,因此尝试以下代码,建议运行 原始R控制台中的代码,或使用其他图形设备(例如 x11()和windows()
请参阅 https://cran.rstudio.com/web/packages/showtext/vignettes/introduction.html
有了以上知识,我们可以做到:
vignette
Ps:我假设您是library('tidyr')
library('ggthemes')
library('showtext')
font_add_google("Schoolbell", "bell")
showtext_auto()
library('ggplot2')
df<- data.frame(x=1:10, y=101:110)
options("device" = "windows")
win.graph(10,10,12)
ggplot(data = df) +
geom_line(aes(x,y))+
theme(text = element_text(family = "bell"))+
ggtitle('A Long Test Title')
ggsave("showtext-example.png", width = 7, height = 4, dpi = 96)
options("device" = "RStudioGD")
用户。
答案 1 :(得分:1)
根据同一文档:https://cran.rstudio.com/web/packages/showtext/vignettes/introduction.html
它的最底层,您可以阅读以下内容:
与RStudio的兼容性
从0.9版开始,showtext可以很好地与RStudio配合使用 图形设备(RStudioGD)。只需在窗口中调用showtext_auto() RStudio会话,然后绘图将正确显示。
它在RStudio 1.3.959中为我工作