【问题标题】:How to make points on maps all different colours and add a legend如何在地图上制作不同颜色的点并添加图例
【发布时间】:2022-01-19 20:28:31
【问题描述】:

嗨,这是我的 R 脚本的最后一部分我在地图上有点我希望能够将点更改为不同的颜色以反映组织,并在我的地图上添加一个图例来反映不同的组织

我的数据标题是

组织代码,组织名称,长,纬度

ggplot() + 
  geom_polygon(data = worldmap, 
           aes(x = long, y = lat, 
               group = group), 
           fill = 'gray90', 
           color = 'black') + 
  coord_fixed(ratio = 1.3, 
          xlim = c(-10,3), 
          ylim = c(50, 59)) + 
  theme_void() +
  geom_point(data = Data, aes(x = long, y = lat))

【问题讨论】:

  • 如果你想为你的点着色,你必须在color aes 上映射包含组织名称或类型的列,即geom_point(..., aes(..., color = ORGANIZATION))。这将自动添加一个图例。参见例如stackoverflow.com/questions/64888609/… 使用不同 shaqpes 的示例
  • 当我像这样编写脚本时,我只剩下一个带有色点的组织列表,但地图不见了 ggplot() + geom_polygon(data = worldmap, aes(x = long, y = lat , group = group), fill = 'gray90', color = 'black') + coord_fixed(ratio = 1.3, xlim = c(-10,3), ylim = c(50, 59)) + theme_void() + geom_point (data = Data, aes(x = long, y = lat,color = Provider))

标签: r ggplot2 colors legend


【解决方案1】:

我不是来自 R 的背景,但如果我需要在移动应用中做同样的事情 删除颜色参数中的 6 位 .+,- 后,我必须传递 lat 或 long 值 由于 lat 和 long 的值是 6 位,十六进制代码也是 6 位 #123456 它总是会给出一些新的颜色,但如果 lat 和 long 在附近,有时可能会出现相同的颜色阴影

fill = #+lat.OnlyNumber(), 
color = #+lat.OnlyNumber()

【讨论】:

  • 谢谢 我在哪里添加 fill = #+lat.OnlyNumber(), color = #+lat.OnlyNumber() 到 ggplot() + geom_polygon(data = worldmap, aes(x = long, y = lat, group = group), fill = 'gray90', color = 'black') + coord_fixed(ratio = 1.3, xlim = c(-10,3), ylim = c(50, 59)) + theme_void() + geom_point(data = Data, aes(x = long, y = lat,color = Provider))
【解决方案2】:

您在 ggplot 中绘制了两个不同的地理空间对象,一个是多边形,另一个是代表组织的点。您以这种方式同时使用geom_polygon()geom_point() 并保持不变的“黑色”作为美学之外的多边形颜色是正确的。

美学功能不应该包括常量,而是任何你想要改变的东西,基于一些变量的值,在这种情况下,是组织的名称。您需要将organisation 变量作为aes() 中的颜色包含在geom_point() 中。

虽然您希望包含图例,但可能是您的组织过多,这就是为什么当您将颜色添加为美学时地图消失的原因。您可以通过添加以下内容进行试验:

+ theme(legend.position = "none")

如果这会恢复地图,您可能需要考虑减小图例大小的方法 - 可能通过字体大小或类似的东西,或者可能通过将组织分组在一起,从而减少所需的颜色数量。

【讨论】:

  • 谢谢你当我做了以下在地图上着色的点,但是没有可见的图例 ggplot() + geom_polygon(data = worldmap, aes(x = long, y = lat, group = group), fill = 'gray90', color = 'black') + coord_fixed(ratio = 1.3, xlim = c(-10,3), ylim = c(50, 59)) + theme_void() + geom_point(data = 数据, aes(x = long, y = lat,color = Provider))+ 主题(legend.position = "none")
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2017-12-06
  • 1970-01-01
  • 2018-07-19
相关资源
最近更新 更多