gpt4 book ai didi

R:在使用north2()创建带有指北针的 map 后使用ggsave保存图形

转载 作者:行者123 更新时间:2023-12-01 12:13:25 25 4
gpt4 key购买 nike

我对 R 很陌生,所以任何帮助将不胜感激!我想用北向箭头保存我的 map ,在我创建它之后,使用 ggsave 函数。但是,在我的 map 中,我使用了 ggsn 包中的功能 north2() 并且它只保存 map 而不是指北针。我知道我可能遗漏了一些非常简单的东西,但我似乎无法弄清楚。我究竟做错了什么??提前致谢。

graph1<-ggplot()+
geom_polygon(data=df,colour="black",aes(x=long,y=lat,group=group,fill=ALG))+
ggtitle("Figure 2.2A: Assessment Results for\nGeneral Aquatic Life Use, Spatial Extent")+
xlab("")+
ylab("")+
coord_equal()+
coord_fixed(ratio = 1)+
ggsn::scalebar(df,location="bottomleft",dist = 50,st.dist=0.02,st.size=3, height=0.01)+
scale_fill_manual("Aquatic Life Designated\nUse 2014 Assessment",values=c((values=c(colors))))+
cowplot::background_grid(major= "none",minor = "none") +
theme(axis.text.x = element_blank(), axis.ticks.x = element_blank(),
axis.text.y = element_blank(), axis.ticks.y = element_blank(),
axis.line = element_blank(),
panel.background = element_blank(),
legend.position=c(0.8,0.1),
panel.border = element_rect(fill=NA),
legend.background = element_blank(),
legend.text = element_text(size=7),
legend.title = element_text(colour="black", size=8, face="bold"),
plot.title=element_text(size=15, face="bold",vjust=1.0,hjust = .3))

ggsave(file="Figure 2.2A.pdf",width=11.5,height=8)
north2(graph1, x = 0.73, y = 0.89, scale = 0.1, symbol = 3)
dev.off()

最佳答案

您需要使用基函数pdf而不是 ggsave .

pdf(file="Figure 2.2A.pdf",width=11.5,height=8)
north2(graph1, x = 0.73, y = 0.89, scale = 0.1, symbol = 3)
dev.off()

这是因为 north2函数以一种有点非标准的方式工作;它绘制结果图而不是返回它。在帮助中解释了为什么存在这个变体。

素色 north功能更标准;你可以把它添加到你的情节中,比如
graph1 + north(data=df, ...)

然后你可以使用 ggsave按预期运行(在此之后,而不是之前)。

请注意,对于传统绘图,您首先使用 pdf() 打开文件。 ,然后运行你的绘图代码,然后用 dev.off 关闭文件;但是对于 ggplots,你先制作你的情节,然后调用 ggsave ,没有 dev.off需要。

关于R:在使用north2()创建带有指北针的 map 后使用ggsave保存图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50105184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com