我是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文件是在我的文件夹中创建的,但它只是一个白色的数字。 请告诉我我的代码有什么问题。 非常感谢!
答案 0 :(得分:2)
尝试,
png(...)
print(powerplant)
dev.off()
或只使用ggsave
。 png
命令实际上没有在磁盘上放置任何图。它只是创建一个空白的png文件,然后准备好接收绘图。运行后,您可以通过ggplot
将lattice
或print
图形发送到设备。基本图形命令将直接发送到设备。
答案 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()