나는 R 맵 라이브러리를 사용하여 특정 국가의 특정 색상을 플롯과 scale_fill_manual()
ggplot_map
내 데이터 프레임과 색상의 전설을 추가하려고에 대한 전설을 추가하는 것은«데이터»이며 3 열이 첫 번째입니다 나라 이름은, 두 번째는 그냥 숫자 데이터이며, 셋째는 색상 :
library(maps)
library(ggplot2)
map = map_data("world")
map = subset(map, region!="Antarctica")
Countries = ggplot() +
geom_polygon(data = map, aes(x=long, y = lat, group = group), fill = "gray97", colour="darkgray", size=0.5)+
geom_map(data=data,map=map,aes(map_id=country, x=lon, y=lat), fill = "cornflowerblue", colour = "gray") +
coord_equal()
CountriesDif<-Countries +
geom_map(data = data, map = map, aes(map_id = country), fill = data$color, colour="darkgray") +
theme(legend.title = element_blank()) + # omit plot title saying 'color'
scale_fill_manual(values = c('darkgreen', 'yellow', 'red'),
labels = c('Above Mean', 'At Mean', 'Below Mean'))
CountriesDif + theme(legend.position = "bottom")
01,230,051,481 :
countries toplot color
1 Argentina -1 red
2 Armenia -1 red
3 Australia -1 red
4 Bahrain -1 red
5 Botswana -1 red
6 Belgium -1 red
7 Bulgaria -1 red
8 Canada -1 red
9 Chile -1 red
10 Taiwan -1 red
11 Croatia -1 red
12 Czech Republic -1 red
13 UK:Great Britain -1 red
14 Egypt -1 red
15 Denmark -1 red
16 Finland 0 yellow
17 France 0 yellow
18 Georgia 0 yellow
19 Germany 0 yellow
20 China:Hong Kong 0 yellow
21 Hungary 0 yellow
22 Indonesia 0 yellow
23 Iran 0 yellow
24 Ireland 0 yellow
25 Israel 0 yellow
26 Italy 0 yellow
27 Japan 0 yellow
28 Jordan 0 yellow
29 Kazakhstan 1 darkgreen
30 Korea 1 darkgreen
31 Kuwait 1 darkgreen
32 Lebanon 1 darkgreen
33 Lithuania 1 darkgreen
34 Malaysia 1 darkgreen
35 Malta 1 darkgreen
36 Morocco 1 darkgreen
37 Netherlands 1 darkgreen
38 New Zealand 1 darkgreen
39 UK:Northern Ireland 1 darkgreen
40 Norway 1 darkgreen
41 Oman 1 darkgreen
42 Palestine 1 darkgreen
43 Poland 1 darkgreen
44 Portugal 1 darkgreen
45 Qatar 1 darkgreen
46 Russia 1 darkgreen
47 Saudi Arabia 0 yellow
48 Serbia 0 yellow
49 Singapore 0 yellow
50 Slovak Republic 0 yellow
51 Slovenia -1 red
52 South Africa -1 red
53 Spain -1 red
54 Sweden -1 red
55 Thailand 1 darkgreen
56 Turkey 1 darkgreen
57 United Arab Emirates 0 yellow
58 USA 1 darkgreen
이 내가 사용하고있는 코드는 올바른 색상으로지도를 얻을 수는 있지만 "범례"는 없습니다. - (... 그리고 이유를 알 수 없습니까? 나는 무엇을 놓치고 잘못 했는가? 감사!
'geom_map()'에는'fill = data $ color'가 있습니다. 이것이 문제의 원인인지 궁금합니다. 나는 당신이'fill = color'을 의미한다고 생각하고 그것을'aes()'에 넣었습니까? – jazzurro
예, 'aes'내부로 이동하십시오. – Axeman