我正在绘制一些值,并使用基R将图导出为png。我想将字体系列强制为Calibri,并使用特定的灰色阴影。当我在RStudio中进行交互操作时,一切正常,但不会转换为导出的png。怎么了?
myfont <- 'Calibri'
mycol <- '#4B4B4D'
par(family=myfont, fg=mycol, col=mycol, col.axis=mycol, col.lab=mycol, col.main=mycol, col.sub=mycol)
plot(x=c(1:10), y=rep(1, 10)) # cool, works fine
# export to png
png('d:/working/example.png', units="in", 16, 9, pointsize=12, res=300, family=myfont)
plot(x=c(1:10), y=rep(1, 10)) # nope, not myfont and not mycol
dev.off()
顺便说一句,可以通过RStudio绘图窗口手动导出,但这不是我想要的方法。
答案 0 :(得分:0)
哦,男孩……如果一切都那么简单。
使用par(...)
时,R在设备之间进行区分,这意味着必须在png(...)
之后进行设置。这有效:
library(extrafont)
loadfonts(device='win')
myfont <- 'Calibri'
mycol <- '#4B4B4D'
png('d:/working/example.png', units="in", 16, 9, pointsize=12, res=300, family=myfont, type='windows')
# NOW set font and colors
par(family=myfont, fg=mycol, col=mycol, col.axis=mycol, col.lab=mycol, col.main=mycol, col.sub=mycol)
# Initiate plot
plot(x=c(1:10), y=rep(1, 10))
dev.off()