【问题标题】:pdf font and graph formatting (win.graph)pdf字体和图形格式(win.graph)
【发布时间】:2013-02-07 15:50:06
【问题描述】:

我最近在 R 中遇到了一个问题,我试图在该组合中解决并在互联网上搜索,但我还无法解决。我希望有人可以帮助我。

我在 Windows 7 上运行 R(x64)。图形设备本身自动使用 Arial 作为字体,当我将图形保存为位图时,“字体”自然保持原样。但是,我更喜欢将图形保存为 pdf,在这种情况下,当我通过 GUI 保存按钮进行保存时,生成的 pdf 中的字体会与 Helvetica 交换。

我在互联网上找到了一个解决方案,使用 Arial afm-Files 和 pdf("Test_Auto.pdf", family = "Arial"),这导致使用 Arial 作为字体的 pdf --- 到目前为止不错。

现在我还经常不得不/想要使用 win.graph 更改图形布局,这就是问题的开始。这是一个例子:

Arial <- Type1Font(family = "Arial", metrics = c("C:/R_Fonts/ArialPlain.afm", "C:/R_Fonts/ArialBold.afm", "C:/R_Fonts/ArialItalic.afm", "C:/R_Fonts/ArialBoldItalic.afm"))
pdfFonts(Arial = Arial)

setwd("C:/PDFCrop")
D1<-matrix(c(1,2,3,4,6,3),3,2)
D2<-matrix(c(1,2,3,5,3,1),3,2)

#pdf("Test_Auto.pdf", family = "Arial")
win.graph(8.3,12,12)
layout(matrix(c(1,2),1,2,byrow=TRUE))
plot(D1,type="l",main="Gobble R")
plot(D2,type="l",main="Gobble R")
#dev.off()

现在这段代码可以创建一个看起来像我希望它看起来的图形,但我必须手动保存图形(文件->另存为),然后我将 Helvetica 作为 pdf 中的字体。

或者我可以改变下半部分

pdf("Test_Auto.pdf", family = "Arial")
#win.graph(8.3,12,12)
layout(matrix(c(1,2),1,2,byrow=TRUE))
plot(D1,type="l",main="Gobble R")
plot(D2,type="l",main="Gobble R")
dev.off()

这会生成一个实际使用 Arial 的 pdf 文件,但该图具有我想要的其他维度。当两者一起使用时,我得到一个“无法打开,因为它不包含任何页面”的 pdf(尽管它的大小不是 0KB)。

有什么方法可以让它工作,或者我可以在 pdf() 和 dev.off() 之间使用 win.graph 的替代方法吗?

感谢您的帮助。

【问题讨论】:

  • 设置pdf设备的尺寸。试图混合使用两种不同的设备似乎是精神错乱的处方。

标签: r graph fonts pdf-generation


【解决方案1】:

天哪,对不起,我太笨了!

在我完全忽略的所有过程中,pdf-device 有自己的大小参数。

Arial <- Type1Font(family = "Arial", metrics = c("C:/R_Fonts/ArialPlain.afm", "C:/R_Fonts/ArialBold.afm", "C:/R_Fonts/ArialItalic.afm", "C:/R_Fonts/ArialBoldItalic.afm"))
pdfFonts(Arial = Arial)

setwd("C:/PDFCrop")
D1<-matrix(c(1,2,3,4,6,3),3,2)
D2<-matrix(c(1,2,3,5,3,1),3,2)

pdf("Test_Auto.pdf", width=8.3, height=12, family = "Arial")
#win.graph(8.3,12,12)
layout(matrix(c(1,2),1,2,byrow=TRUE))
plot(D1,type="l",main="Gobble R")
plot(D2,type="l",main="Gobble R")
dev.off()

谢谢你的提示,DWin

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2016-06-17
    • 2014-03-29
    • 2018-12-15
    • 2018-07-25
    • 1970-01-01
    • 2012-03-28
    相关资源
    最近更新 更多