有没有办法在Windows版本的R中绘制抗锯齿图形?正如你从下面的两个版本中可以看到,Mac版的R打印图形抗锯齿....
....虽然Windows版本反锯齿文本,但它不会对实际图形进行反锯齿,如从提升点和网格中可以看到的:
顺便说一下这是代码:
library(scatterplot3d)
attach(mtcars)
s3d <-scatterplot3d(wt,disp,mpg, pch=16, highlight.3d=TRUE,
type="h", main="3D Scatterplot")
fit <- lm(mpg ~ wt+disp)
s3d$plane3d(fit)
我需要最高质量的网页发布。我正在运行Windows 7并从RBloomberg中提取数据,这只能在Windows下运行。
答案 0 :(得分:18)
这可能取决于每个平台上渲染引擎的细节,这可能很难修改。我的建议(未经测试,因缺乏时间和访问Windows):
cairoDevice
包并使用Cairo_png()
。根据文件:This functions the same as any other R graphics device. You may use the conventional plot commands and expect essentially the same output, except that everything is anti-aliased (similar to other vector-based devices like Quartz). Alpha-blending is supported, as is enhanced interactivity via ‘getGraphicsEvent’. The device should work the same across all supported platforms (Mac, Windows, and Linux).
convert
)或其他工具来获取所需的抗锯齿版本。答案 1 :(得分:9)
使用pdf等矢量设备。首先要确保你具备这种能力,因此capabilities
函数无需考虑。如果您有pdf,那么就这样做:
pdf(file="out_graph.pdf")
s3d <-scatterplot3d(wt,disp,mpg, pch=16, highlight.3d=TRUE,
type="h", main="3D Scatterplot")
fit <- lm(mpg ~ wt+disp)
s3d$plane3d(fit)
dev.off()
Web输出的替代方案可能是png()图形设备。虽然它是一种栅格格式,但它在紧凑性和Web浏览器兼容性方面得到了很高的评价。
答案 2 :(得分:9)
将Cairo与cairoDevice
设备一起使用不再需要安装png
。您现在可以在打开设备时指定type='cairo'
。比较以下内容:
png('test1.png', 500, 500)
s3d <- scatterplot3d(wt,disp,mpg, pch=16, highlight.3d=TRUE,
type="h", main="3D Scatterplot")
fit <- lm(mpg ~ wt+disp)
s3d$plane3d(fit)
dev.off()
png('test2.png', 500, 500, type='cairo')
s3d <- scatterplot3d(wt,disp,mpg, pch=16, highlight.3d=TRUE,
type="h", main="3D Scatterplot")
fit <- lm(mpg ~ wt+disp)
s3d$plane3d(fit)
dev.off()
我正在运行Win 8.1和64位R 3.2.2。