如何绘制带有闪避点或 pie-chart 点的 ggplot2 散点图?

How to plot ggplot2 scatter plot with dodged points OR points that are pie-chart?

我在一个地块的 5 个样本中发现了 4 个物种。我想在 ggplot2 中将它们可视化,x 轴为纬度,y-axis 为经度;以及它们的丰度基本上是按物种着色的大小。我尝试工作并得到以下结果

lat <- c(1,2,3,4,5)
long <- c(13,2,7,5,15)
sp1 <- c(0,10,4,3,2)
sp2 <- c(20,10,14,0,1)
sp3 <- c(10,0,2,3,7)
sp4 <- c(2,0,0,0,12)

df <- data.frame(lat, long, sp1, sp2, sp3, sp4)
library(tidyr)
df.long <- gather(df,
                     key = "species",
                     value = "abundance",
                    sp1, sp2, sp3, sp4)

我想知道,如何错开这些点来表示如下图的左侧?或者,我还尝试在 PIE 大小反映整体丰度的那些点上绘制饼图。我什至不知道这在 R 中是否可行……但我正在这里拍摄。欢迎任何帮助!

如果要使用闪避位置,请设置position = position_dodge()并指定宽度:

library(ggplot2)
ggplot(df.long, aes(x = lat, y = long, color = species, size = abundance)) +
  geom_point(position = position_dodge(width = 0.5))