我一直在關注我在網上找到的將ggplot圖保存爲PDF的建議,但是我無法完成它的工作。我使用extrafont
包在Calibri中生成包含文本的圖表,但我的圖表打印時沒有文本。我不知道我錯過了什麼。在我的過程中我找不到任何錯誤。希望別人能夠提供幫助。將ggplot圖保存爲r中嵌入字體的PDF
下面的代碼和過程我用:
library(extrafont)
font_import(pattern="[C/c]alibri")
loadfonts(device="win")
我在這個時候安裝GhostScript的。然後運行以下設置GhostScript位置。
Sys.setenv(R_GSCMD = "C:\\Program Files\\gs\\gs9.21\\bin\\gswin64c.exe")
然後我用ggplot製作了一個圖表,叫做「圖表」。該圖表在RStudio中看起來很完美,但不是PDF格式。
ggsave("chart.pdf", plot = chart, width = 6, height = 4)
在這裏,我得到的警告顯示這樣的東西:
在grid.Call(C_textBounds,as.graphicsAnnot(X $標籤),...:字體 '宋體' 中找不到PostScript字體數據庫
顯然,這些警告是應該發生的?如果我跑......
embed_fonts("chart.pdf", outfile="chart_embed.pdf")
不幸的是,在所有這些之後,最終的「嵌入」圖表與最初生成的圖表沒有什麼不同,它們都沒有任何文本。
萬一有幫助,這裏是產生圖表的代碼:
a <- ggplot(data=stats, aes(x=Date))
Chart <- a + geom_point(aes(y=NevadaTotalNonfarmAllEmployees)) +
xlab("Date") +
ylab("Nonfarm Jobs") +
ggtitle("Nevada Total Jobs") +
theme(axis.title.x = element_text(size=15, family = "Calibri"),
axis.title.y = element_text(size=15, family = "Calibri"),
axis.text.x = element_text(size=10, family = "Calibri"),
axis.text.y = element_text(size=10, family = "Calibri"),
plot.title = element_text(hjust=0.5, size=20, family = "Calibri"))
我一直在拉我的頭髮試圖弄清楚這一點。或者,也許這不是代碼,而是其他的東西?無論哪種方式,謝謝你的幫助。
我注意到,改變ggsave高度和寬度()的幫助。現在圖表上有下一個字母,但它們都是在一個點上輸入的。所有的字母都是自己輸入的。例如,標題的所有字母都集中在一個點上,因此該單詞不可讀。這似乎可能是一個大小問題。有沒有人有任何關於尺寸的提示? – trijamms
axis.textle = element_text(size = 15), plot你可以在主題上保存一些輸入:'theme(text = element_text(family =「Calibri」), axis.text = element_text(size = 10), axis.title = element_text .title = element_text(hjust = 0.5,size = 20))'。 – eipi10
這很有用。謝謝eipi10! – trijamms