可以在R中的地图顶部覆盖一条直线图吗?

可以在R中的地图顶部覆盖一条直线图吗?,r,ggplot2,plot,mapping,panel,R,Ggplot2,Plot,Mapping,Panel,我希望编写一个脚本,将每天的鱼标签数据导出为线图,叠加到地图上,例如(丑陋的组合在Gimp中完成): 我相信我可以很容易地在base R或GGplot中重新创建线条图 我怀疑将它们切面成一个带有顶部图像和底部图像的单一输出应该不会太难,最好是中间面板作为图例,这样就不会占用绘图本身的空间 我可以做地图(已经做过了,这是上图中的一个),让它们看起来更轻也很容易 问题似乎在于背景贴图层是ggplot中的lat/lon坐标系,而覆盖线图是笛卡尔坐标系。随后,ggplot(或其他任何东西)将无法直观地

我希望编写一个脚本,将每天的鱼标签数据导出为线图,叠加到地图上,例如(丑陋的组合在Gimp中完成):

我相信我可以很容易地在base R或GGplot中重新创建线条图

我怀疑将它们切面成一个带有顶部图像和底部图像的单一输出应该不会太难,最好是中间面板作为图例,这样就不会占用绘图本身的空间

我可以做地图(已经做过了,这是上图中的一个),让它们看起来更轻也很容易

问题似乎在于背景贴图层是ggplot中的lat/lon坐标系,而覆盖线图是笛卡尔坐标系。随后,ggplot(或其他任何东西)将无法直观地将两者对齐,因为它期望一个公共系统,因为元素需要能够交互

任何建议、想法、半途而废的想法、沉思、指点等等,都非常欢迎。我是否可以使用透明背景保存线条图,单独保存地图,然后将它们缝合在一起(例如ImageMagik)?先保存地图,然后将其添加到ggplot
背景图像中

提前谢谢

编辑:稍后再回到这里,我做了双图,得到了空间点(黑点,底部面板)

我现在想把地图转换成这些坐标。为了变换空间对象的坐标,我深入研究了它。df结构有一个几何图形列,该列是一个列表列表:

natlantic2$geometry[1:nrow][[1]][[1]][[1]][,1] #lon
natlantic2$geometry[1:nrow][[1]][[1]][[1]][,2] #lat
我几乎可以用

sapply(natlantic2$geometry, "[[", 1)
但它的回报是:

[[1:nrow]]
         [,1]     [,2]
[1,] 14.76619 44.92003
[2,] 14.76661 44.92208
[3,] 14.83831 44.88453
[4,] 14.76619 44.92003
i、 e.1432个2列dfs的列表。所以我很接近了,但我需要深入一个列表,“[[[]”在
sapply
中不起作用。而且这1432个列表项中似乎有6个是包含2列dfs的单项列表,而不是dfs本身。令人恼火。尝试
rappy()
迄今为止没有成功


如果有人对如何转换这些有任何想法,那就太好了。我想知道是否有可能通过劫持
st_transform
将这些转换用作自定义crs…?

当然,只需转换线图数据,使x/y坐标长/lat,然后用
geom_-line
将其写在顶部。如果你想使用背景图像,我会墨水使用地图图像作为线条图的背景比使用线条图作为地图的背景更有意义…因为你希望线条在顶部。这样,就不需要特殊的透明度。干杯,巴德。关于X/Y到Lat/Lon转换的有趣想法…我想这对X(深度、光线、温度)来说相当容易因为它是一个静态的地图和一致的范围,所以它只是一个乘法。但是将时间窗口移动到经度…我假设它是一个固定的lon范围和一个恒定的时间长度,所以我可以从一个设定的常数中加/减时间差,然后乘以lon范围。感谢富有想象力的解决方案!