我正在尝试使用个性化颜色和相应的图例绘制某个地图(多边形) - 它是我数据中的列。我不知道如何在我的代码中确定这些颜色和标签。当我绘制地图时,颜色是其他颜色。
我的真实数据有要绘制的扇区的创建者,但为了解释你,我只会显示前六行以及颜色和图例的标签
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)
我想要的只是绘制我的地图,就像第一张图片一样,但是我的颜色是个性化的,并且是相应的图例标签
答案 0 :(得分:2)
尝试将fill
美学设置为as.character(color)
,然后添加
scale_fill_identity(guide = "legend")
在geom之后。
未经测试,因为例如不可复制。
回答修改后的问题:
不需要将颜色和图例放在数据框中; ggplot以不同的方式处理它。将fill
美学设置为legend
并添加
scale_fill_manual(values=(aa2="green", aa3="orange", aa4="yellow", aa5="red"))
但现在这可能是重复的。