首页 > 解决方案 > 用 ggplot2 覆盖基图

问题描述

我有一张使用基本图形绘制的古地理地图,例如:

在此处输入图像描述

我在同一坐标系中绘制了 ggplot2 图:

在此处输入图像描述

我希望将第二张图绘制在第一张地图的顶部,并且线长的图例将位于第一张地图的下方。结果应该看起来像这样(使用基本图形绘制的所有内容):

在此处输入图像描述

怎么做?

类比的情况是通过使用基本图形绘制一条线并使用 ggplot2 绘制另一条线来绘制“X”符号:

例如:

#base line
plot(c(0,1),c(0,1),axes=F,type = "l",ann = F) 

#ggplot2 line
ggplot(data.frame(X=c(0,1),Y=c(1,0)),aes(X,Y)) + 
geom_path() +
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
plot.background=element_blank())

#Desired visual output
plot(c(0,1),c(0,1),axes=F,type = "l",ann = F)
lines(data.frame(X=c(0,1),Y=c(1,0)))

标签: rggplot2plotviewport

解决方案


推荐阅读