我试图产生US的地图,其中每个状态可以具有下列颜色中的一种状态,以匹配每个国家与它的颜色。R代码里面到美国的生成地图特定颜色
head(states_info)
State.Code region St_Abbr Num_Estab colors
1 1 alabama AL 13123 #f7931e
3 4 arizona AZ 18053 #f7931e
4 5 arkansas AR 9154 #4a77bb
5 6 california CA 143937 #787878
6 8 colorado CO 21033 #d3dfbd
7 9 connecticut CT 17176 #f7931e
我已经尝试过各种方法让每个状态的颜色正确,但我的代码不工作。 (顺便说一句, “颜色” 是一个因素变量和包含的特定颜色的十六进制值)
方法1:
地图( '州',填充= TRUE,COL = states_info $颜色)
我得到一张地图,但各州的颜色不正确。这种方法可能需要匹配,但我无法弄清楚。
方法2:我通过合并每个状态的纬度和经度与我的state_info数据帧来绘制地图
states_location <- map_data("state")
map.df <- merge(states_location,states_info, by=intersect(states_location$region, states_info$region), all=TRUE)
map.df <- map.df[order(map.df$order),]
ggplot(map.df, aes(x=long,y=lat,group=group))+
geom_polygon(aes(fill=region.x))+
geom_path()+
scale_color_hue(states_info$colors)
该方法使用其自己的颜色梯度,而不是颜色产生地图创建的数据帧我指定。我究竟做错了什么? 谢谢。
'scale_color_manual'是你在找什么。 – AlexR