問題:我將ggsave應(yīng)用在pipe %>% 符號中,報錯!「報錯信息:」 ?Error in UseMethod("grid.draw") :
"grid.draw"沒有適用于"c('LayerInstance', 'Layer', 'ggproto', 'gg')"目標(biāo)對象的方法 ? 查閱了資料,ggplot2中調(diào)用ggsave有以下三種: 1. 把ggplot2保存為對象,然后調(diào)用p1 = ggplot(diamonds, aes(x=cut,y = price,colour = cut)) + geom_boxplot() p1
ggsave("plot.png",p1 )
保存的文件:
2. 在pipe中調(diào)用時,直接用+ 號,而不是%>% ggplot(diamonds,aes(x = cut, y = price, colour = cut)) + geom_boxplot() + ggsave("plot2.png")
這里,直接用+ 連接ggsave ,而不是%>% 文件如下: 3. 用括號括起來,然后用%>% (ggplot(diamonds,aes(x = cut, y = price, colour = cut)) + geom_boxplot()) %>% ggsave("plot3.png",.)
這里面,用() 將ggplot作圖的代碼括住,它會輸出到屏幕上,使用%>% 將其作為對象傳遞給ggsave,用. 表示它,寫作ggsave("plot3.png",.) ,即可。 保存文件: 4. 代碼匯總library(tidyverse) data("diamonds") head(diamonds)
# method 1 p1 = ggplot(diamonds, aes(x=cut,y = price,colour = cut)) + geom_boxplot() p1
ggsave("plot.png",p1 )
# method 2 ggplot(diamonds,aes(x = cut, y = price, colour = cut)) + geom_boxplot() + ggsave("plot2.png")
# method 3 (ggplot(diamonds,aes(x = cut, y = price, colour = cut)) + geom_boxplot()) %>% ggsave("plot3.png",.)
之前作圖,都是用png(),或者pdf(),調(diào)用,然后用dev.off()關(guān)掉保存,發(fā)現(xiàn)了ggsave保存圖片很方便,真得很方便。就灌水文一篇。
|