在R中创建高分辨率数字

时间:2013-05-17 22:43:27

标签: r

这是这样的一个让我疯狂的基本问题。在R中生成图形时,它在屏幕上看起来很棒。但是当我尝试使用png(),tiff()等直接将它生成到文件上时,将分辨率设置为300,将宽度和高度设置为适合日记纸的合理值,有两个问题:< / p>

  1. 所有线条都超厚
  2. 所有字母都是巨大的字体。
  3. 这真的很烦人,我尝试过使用点数选项,它有助于缩小字体大小,但线条宽度仍然很厚实。你能否告诉你R中出了什么问题以及如何解决这个问题?我环顾四周,大多数解决方案涉及使用其他图像处理软件。我宁愿弄清楚为什么R在提高分辨率时会这样做以及为什么它会让数字如此难看。这是一个例子:

    png(file="test.png",width=5,height=5,units="cm",res=300)
    plot(rnorm(1000),rnorm(1000),xlab="some text")
    dev.off()
    

    谢谢!

1 个答案:

答案 0 :(得分:11)

我认为问题在于默认的磅值(请参阅pointsize中的参数?png):

以下是默认值为12的内容:

enter image description here

但如果你把它降低到6:

png(file="test.png",width=5,height=5,units="cm",res=300, pointsize=6)
plot(rnorm(1000),rnorm(1000),xlab="some text")
dev.off()

enter image description here

我理解它的方式,12的分数意味着cex=1的文本是英寸的12/72(即1/6)。你的朋友是大约2英寸,因此您的文字是绘图宽度的1/12,并带有默认的分数。

相关问题