【问题标题】:rgl.postscript: file saved without varying text sizesrgl.postscript:保存的文件没有改变文本大小
【发布时间】:2012-01-02 15:13:48
【问题描述】:

从@DWin 和@Ben Bolker,我们可以更改 R 中的 scatter3d 函数以绘制“更漂亮”(http://stackoverflow.com/questions/8204972/carscatter3d-in-r-labeling-axis-better),然而,保存情节是一个棘手的问题。 rgl.snapshot 将图像保存为 png,但要保存高分辨率图像 (PDF),必须使用 rgl.postscript。使用rgl.postscript 将不会以指定的字体/文本大小/轴大小保存图像(我编辑了scatter3d 函数以增加文本/轴大小)。 rgl.snapshot 可以正常工作,那么为什么rgl.postscript 不可以呢?有谁知道另一种保存方法,或者有没有办法用更大的文本/轴等保存绘图?

【问题讨论】:

  • 你能尝试安装 r-forge 版本吗(install.packages("rgl",repos="http://r-forge.r-project.org") and see if that makes a difference? The log at https://r-forge.r-project.org/scm/viewvc.php/pkg/?root=rgl&view=log says: Revision 828 - 目录列表;修改 Mon Jun 6 17:19:04 2011 UTC(6 个月,3 周前)由 murdoch;尊重rgl.postscript 调用中的字体大小,并且更改可能(?)没有传播到 CRAN 版本...
  • 是的,这很有帮助,但是我相信它只适用于 Windows,或者我只能让它在 Windows 上正常运行。
  • 这很有趣。我没有在 Windows 上尝试,只在 Linux 上尝试(如果有帮助,我可以在 Mac 上尝试)
  • 不,没关系,我切换到 Windows 机器,不过谢谢

标签: r pdf rgl


【解决方案1】:

一个简单的例子适用于我的rgl 比 CRAN 的更新版本(CRAN 有 0.92.798,r-forge 现在有 0.92.836,这是 0.92.829)。看起来版本是按 SVN 版本编号的,所以这是在上面的 cmets 中提到的更新之后的一个版本 ...

library(rgl)
set.seed(1001)
n <- 20
text3d(runif(n),runif(n),runif(n),LETTERS[1:n],cex=seq(0.5,5,length=n))
rgl.postscript(file="tmp.ps")

但是,一个重要的警告是生成的 PS、PDF、文件等有点不稳定。边界框有点奇怪,尽管我可以手动对其进行文本编辑。 ps2pdfps2png 破坏了它.. epstopdf 似乎有效(这些都是 Linux 机器上可用的工具,不知道其他操作系统)。原则上rgl.postscript() 允许您导出为 PDF,但它可能是奇怪的 PDF ... StackOverflow 无法将文件识别为有效的上传格式。

R Under development (unstable) (2012-01-01 r58032)
Platform: i686-pc-linux-gnu (32-bit)

[snip]

other attached packages:
[1] rgl_0.92.829

【讨论】:

  • 感谢您的魔法!我一直在努力让它正常工作,而且我已经很接近了。要制作 scatter3d 图,我必须先制作该图,然后添加:mtext3d、axes3d 和 axis3d。具有讽刺意味的是,我发现使用 rgl.postscript 并将其保存为 pdf 效果最好,而 ps 文件的结果很不稳定。我现在正在努力使点的大小变大。我尝试使用 plot3d/points3d 并将其添加到原始绘图中,但失败了。有什么建议吗?
  • 嗯。 plot3d(1:5,1:5,1:5,size=20) 给了我很大的丑陋方块。 spheres3d(1:5,1:5,1:5,radius=0.3) 给出了漂亮的闪亮球体(如果你有数千个点要绘制,你不会想使用球体,与丑陋的正方形相比,它们的计算量很大)。
  • 很遗憾,当我将其保存为 pdf 时,您网站上的 scatter3d 函数的编辑版本对我不起作用(文本大小/磅值)。
  • 我发现制作更高质量的 scatter3d 图像的最佳方法是编辑 scatter3d 函数并使用图像魔法在图像类型之间进行转换。 IE。转换 -size 8x8 -pointsize 72 -resample 300 -sharpen 300x100 文件名.png 文件名.tiff。呜呼
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-28
  • 2019-12-12
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 2013-08-14
  • 2017-06-01
相关资源
最近更新 更多