R我的图形大小是Linux上的两倍,而不是Windows上的大小

时间:2015-03-16 10:16:43

标签: linux r windows ggplot2

我的堆积图有一个奇怪的问题,必须输出为.png。我在windows xp和linux mint上有R 3.1.3(linux是我的客户操作系统,通过虚拟盒,我的主机windows xp)。我的linux没有其他问题,除了这种设置的自然缓慢。我必须使用linux,因为它更好地管理了语言环境;尽管安装了语言包,windows仍会将各种字母表中的所有字符都显示为乱码。

我在linux上的图表(薄荷17.1)的大小是Windows上的两倍。这是因为我的linux是通过虚拟盒使用的吗? 我没有特别的理由安装linux,这就是为什么我把它放在一个盒子里。当我通过虚拟框登录我的linux时,我收到了这条消息:

enter image description here

您能告诉我您系统上的图表大小是多少吗?

尺寸方面的结果,请参阅GSC图表

windowsGridnoGROBnoLOESS.png is 98 kB
windowsGridyesGROBnoLOESS.png is 679kB
windowsgscGROBnoLOESS.png is 332 kB
windowsGscnoGROBnoLOESS.png is 49 kB
windowsGscnoGROByesLOESS is 49 kB
windowsgscyesGROByesLOESS.png is 340 kB

linuxGridnoGROBnoLOESS is 104kB
linuxGridyesGROBnoLOESS is 729 kB
linuxgscGROBnoLOESS is 334 kB
linuxGscnoGROBnoLOESS is 48 kB
linuxGscnoGROByesLOESS is 115kB
linuxgscyesGROByesLOESS is 805 kB 

特别是一旦我收集了黄土数据,linux的大小就会增加,但是窗口的大小会增加。

我的个人图表在Windows上重约700KB,在linux上重约3 MB!我的图更靠近图gsc,因为它们有一个很长的图例并且是彩色的,带有alpha图层和许多点以及黄土光滑。

基本图表可以重现这种现象: 如果您不对第一个图表发表评论,则需要下载数据 here

我已经使用arial字体来避免大小差异,但我认为这是不必要的。请随意评论extrafontsgsc情节主题的行。

require("ggplot2")
require("grid")
require("gridExtra")
require("extrafont")
# font_import() # import all your fonts
# fonts() #get a list of fonts
loadfonts(device = "win")


nmmaps<-read.csv("chicago-nmmaps.csv", as.is=T)

g<-ggplot(nmmaps, aes(date, temp, color=o3))+geom_point()

png(filename = "linuxGridnoGROBnoLOESS.png", width = 1920, height = 600, units = "px", pointsize = 11, bg = "white",  res = 67.5)
g
dev.off()

png(filename = "linuxGridyesGROBnoLOESS.png", width = 1920, height = 4200, units = "px", pointsize = 11, bg = "white",  res = 67.5)
grid.arrange(arrangeGrob(g,g,g,g,g,g,g,ncol=1, nrow=7))
dev.off()

gsc<- ggplot(aes(x = carat, y = price, color=cut), data = diamonds) + geom_point()+
  theme_grey(base_family = "Arial") + theme(legend.background = element_rect(fill="grey95", colour=NA))

png(filename = "linuxGscnoGROBnoLOESS.png", width = 1920, height = 600, units = "px", pointsize = 11, bg = "white",  res = 67.5)
gsc
dev.off()


png(filename = "linuxgscGROBnoLOESS.png", width = 1920, height = 4200, units = "px", pointsize = 11, bg = "white",  res = 67.5)
grid.arrange(arrangeGrob(gsc,gsc,gsc,gsc,gsc,gsc,gsc,ncol=1, nrow=7))
dev.off()



gscloess<- ggplot(aes(x = carat, y = price, color=cut), data = diamonds) + geom_point()+
  stat_smooth(method="loess", aes(group = 1), se=FALSE, span = 0.2, size=1.25, n=200, fullrange = T)+
  theme_grey(base_family = "Arial") + theme(legend.background = element_rect(fill="grey95", colour=NA))

png(filename = "linuxGscnoGROByesLOESS.png", width = 1920, height = 600, units = "px", pointsize = 11, bg = "white",  res = 67.5)
gscloess
dev.off()

png(filename = "linuxgscyesGROByesLOESS.png", width = 1920, height = 4200, units = "px", pointsize = 11, bg = "white",  res = 67.5)
grid.arrange(arrangeGrob(gscloess,gscloess,gscloess,gscloess,gscloess,gscloess,gscloess,ncol=1, nrow=7))
dev.off()

1 个答案:

答案 0 :(得分:0)

我使用optipng来减少linux输出的大小,但它们仍然高于windows上的输出。

我还必须安装xfonts-100-dpi,一切正常,但输出非常难看。但也很轻。