【问题标题】:Custom color in a map(polygons) by ggplot in R and plot a legendR中的ggplot在地图(多边形)中自定义颜色并绘制图例
【发布时间】:2015-05-25 02:27:57
【问题描述】:

我正在尝试使用个性化颜色及其各自的图例绘制某个地图(多边形) - 它是我数据中的一个列。我不知道如何在我的代码中确定这些颜色和标签。当我绘制地图时,颜色是其他颜色。

我的真实数据有很多要绘制的扇区,但是为了解释你,我将只显示前六行以及颜色和图例的标签

unique(data$color)
[1] green  yellow red    orange blue  
Levels: blue green orange red yellow

unique(data$legend)
[1] aa1  aa2 aa3 aa4 aa5 
Levels: aa1  aa2 aa3 aa4 aa5 

head(data)

            id  color legend
1 3.300456e+14  green    aa2
2 3.300456e+14 yellow    aa4
3 3.300456e+14    red    aa5
4 3.300456e+14 orange    aa3
5 3.300456e+14  green    aa2
6 3.300456e+14 orange    aa3

第一种情况:图例还可以,但是用其他颜色

ggplot() +

geom_map(data=data, aes(map_id=id, fill = color), map=map.fort)+

geom_path(data=map.fort, aes(x=long, y=lat, group=group), colour="black", size=0.25)

第二种情况:颜色正常,但没有绘制图例

geom_map(data=data, aes(map_id=id),fill = data$color, map=map.fort)+

geom_path(data=map.fort, aes(x=long, y=lat, group=group), colour="black", size=0.25)

我想要的只是像第一张图片一样绘制我的地图,但使用我的个性化颜色和相应的图例标签

【问题讨论】:

    标签: r plot ggplot2


    【解决方案1】:

    尝试将fill 美学设置为as.character(color),然后添加

    scale_fill_identity(guide = "legend")
    

    在几何之后。

    未经测试,因为示例无法重现。


    回答修改后的问题:

    不需要将颜色和图例都放在数据框中; ggplot 以不同的方式处理它。将fill 美学设置为legend 并添加

    scale_fill_manual(values=(aa2="green", aa3="orange", aa4="yellow", aa5="red"))
    

    不过,这现在可能是重复的。

    【讨论】:

    • 布赖恩,我添加了地图。你的建议确实有效。但我还有其他问题。我不知道代码中“传奇”这个词的作用,因为传奇的标题不是“传奇”。我想更改图例上的标签,例如:而不是“蓝色”,我想放“非常好”;取而代之的是“绿色”、“古格”;取而代之的是“橙色”、“既不好也不坏”;等等。
    • 另外,我想按顺序绘制图例:首先是蓝色框,蓝色框下的绿色框,绿色框下的橙色框等。
    • 布莱恩,我重做了我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多