为什么我看不到我的png文件?

时间:2016-04-19 16:15:20

标签: r ggplot2

我是R的新手,今天我尝试按照代码保存我的数字:

powerplant <- ggplot(Emission.l, aes(x = Year, y = value, fill = variable))+
  theme(axis.text.x = element_text(angle = 90, hjust = 1))+
  geom_bar(stat = 'identity', position = 'dodge') +
  ggtitle(Emission.Aerosol$Facility.Name)+
  ylab("Emission(Tons)")+scale_fill_discrete(name = '', labels = c('SO2 (tons)', 'NOx (tons)')) +
  scale_x_continuous(breaks = 2003:2015)

png(file = paste0(Emission.Aerosol$Facility.Name,".png"),
     width = 439, height = 266, units = "px",pointsize = 12,
     bg = "transparent")
dev.off()

然后,我可以看到png文件是在我的文件夹中创建的,但它只是一个白色的数字。 请告诉我我的代码有什么问题。 非常感谢!

2 个答案:

答案 0 :(得分:2)

尝试,

png(...)
print(powerplant)
dev.off()

或只使用ggsavepng命令实际上没有在磁盘上放置任何图。它只是创建一个空白的png文件,然后准备好接收绘图。运行后,您可以通过ggplotlatticeprint图形发送到设备。基本图形命令将直接发送到设备。

答案 1 :(得分:0)

一般来说,我个人觉得分离ggplot()的构造比较清楚,如下所述,这使得在构建绘图语法时更容易使用ggplot的构造,然后您可以选择保存/打印的方式。

我希望这会有所帮助。

  require(ggplot2)

  gp <- ggplot(Emission.l, aes(x = Year, y = value, fill = variable))
  gp <- gp + theme(axis.text.x = element_text(angle = 90, hjust = 1))
  gp <- gp + geom_bar(stat = 'identity', position = 'dodge') 
  gp <- gp + ggtitle(Emission.Aerosol$Facility.Name)
  gp <- gp + ylab("Emission(Tons)")
  gp <- gp + scale_fill_discrete( name = '', 
                                  labels = c('SO2 (tons)', 'NOx (tons)'))
  gp <- gp + scale_x_continuous(breaks = 2003:2015)

  powerplant <- gp
  print(powerplant)  
  dev.off()