【问题标题】:Creating a choropleth (polygon) map with 2 dimensional values using ggplot使用 ggplot 创建具有二维值的等值线(多边形)图
【发布时间】:2016-05-11 20:35:02
【问题描述】:

我想创建一个可视化二维值的等值线图(= 根据有序对 (v1, v2) 对多边形进行颜色填充,其中 v1v2 是有序因子)。

以下是结果应如何显示的示例:

我认为带有二维的颜色矩阵图例清楚地表明了我想要实现的目标。

我想使用ggplot2::geom_polygon 来实现它。


小例子:

ids <- factor(c("1.1", "2.1", "1.2", "2.2", "1.3", "2.3"))

values <- data.frame(
    id = ids,
    v1 = factor(c("Hi","Med","Med","Hi","Lo","Lo"), 
                levels=c("Lo", "Med", "Hi"), ordered=TRUE),
    v2 = factor(c("Hi","Lo","Lo","Med","Med","Hi"), 
                levels=c("Lo", "Med", "Hi"), ordered=TRUE))

positions <- data.frame(
  id = rep(ids, each = 4),
  x = c(2, 1, 1.1, 2.2, 1, 0, 0.3, 1.1, 2.2, 1.1, 1.2, 2.5, 1.1, 0.3,
        0.5, 1.2, 2.5, 1.2, 1.3, 2.7, 1.2, 0.5, 0.6, 1.3),
  y = c(-0.5, 0, 1, 0.5, 0, 0.5, 1.5, 1, 0.5, 1, 2.1, 1.7, 1, 1.5,
        2.2, 2.1, 1.7, 2.1, 3.2, 2.8, 2.1, 2.2, 3.3, 3.2))

datapoly <- merge(values, positions, by=c("id"))

我想按照上面的示例将以下两个地图合并为一个。 polgons 的颜色填充应该根据有序对 (v1, v2),当然我需要一个颜色矩阵图例。

library("ggplot2")
ggplot(datapoly, aes(x=x, y=y)) + geom_polygon(aes(fill=v1, group=id))
ggplot(datapoly, aes(x=x, y=y)) + geom_polygon(aes(fill=v2, group=id))

【问题讨论】:

标签: r ggplot2 maps


【解决方案1】:

在这里聚会有点晚了,但是,为了以后遇到这个问题的任何人的利益,https://github.com/wmurphyrd/colorplaner 似乎完全符合您的要求。 usage 部分中的第二个示例甚至给出了在地图中着色的示例。

【讨论】:

    【解决方案2】:

    interaction(v1, v2) 并在所产生的交互上映射一个比例如何?

    # using your inputs
    values$v1_2 <- interaction(values$v1, values$v2)
    ...
    datapoly <- merge(values, positions, by=c("id"))
    
    library(ggplot2)
    library(scales)
    library(RColorBrewer)
    ggplot(datapoly, aes(x=x, y=y)) + geom_polygon(aes(fill=v1_2, group=id)) +
      scale_fill_brewer(palette= "Blues")
    

    或者使用上面 cmets 中链接到的解决方案 @gregor。

    【讨论】:

    • mh,我真的很想有一个矩阵图例,而不是一个单一的规模......上面发布的链接@gregor 肯定会走向正确的方向......
    猜你喜欢
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 2023-03-05
    相关资源
    最近更新 更多