我正在美国使用usmap::plot_usmap()
绘制一家公司“SB”的州级市场份额。我想获得两个可比较的地块,一个用于2005年,一个用于2013年,但我还需要它们在色标方面具有可比性。为此,我想将传奇的规模从0%调整到60%,因为2005年的市场份额在0到40%之间,而在2013年的范围从0到60%。如果我在没有修复的情况下绘制两个图形规模,颜色不匹配,即在2005年最黑的蓝色是40-50%,而在2013年最黑的蓝色是50-60%。
我的数据帧数据有3个变量:state,SB2005和SB2013。
> data
state SB2013 SB2005
1 AK 13.73301 39.07751
2 AL 31.07569 27.79722
3 AR 17.32783 18.86964
4 AZ 50.41637 43.68238
5 CA 41.97910 36.44163
6 CO 44.54290 37.15720
7 CT 28.86247 30.40817
8 DC 31.19301 23.21915
9 DE 36.13980 30.46963
10 FL 33.09666 33.82679
11 GA 32.23701 35.41160
12 HI 34.97479 28.96052
13 IA 17.84128 19.53318
14 ID 33.69578 24.82588
15 IL 31.11345 31.15282
16 IN 30.11551 26.12669
17 KS 20.05335 22.27834
18 KY 25.73649 22.78522
19 LA 36.49632 25.91918
20 MA 31.95588 36.32401
21 MD 34.82404 32.72958
22 ME 33.77195 37.01851
23 MI 31.92783 34.58157
24 MN 25.97937 30.64853
25 MO 27.83736 25.74990
26 MS 17.41351 24.45305
27 MT 18.94255 20.83375
28 NC 28.51608 26.42641
29 ND 12.51515 12.01312
30 NE 14.94143 17.01305
31 NH 41.07999 39.42883
32 NJ 34.27007 35.41661
33 NM 37.09724 30.60311
34 NV 53.29869 46.74818
35 NY 23.93017 30.71950
36 OH 22.25994 26.24390
37 OK 27.27723 26.68940
38 OR 43.86115 34.61210
39 PA 30.73276 27.73622
40 PR 23.70947 8.94793
41 RI 29.47681 36.57546
42 SC 27.97239 27.07268
43 SD 13.16030 11.69766
44 TN 32.06779 27.59431
45 TX 40.74324 38.22124
46 UT 55.91908 41.99760
47 VA 34.95502 29.42225
48 VT 24.06665 33.79450
49 WA 35.32285 28.29210
50 WI 18.13374 19.69282
51 WV 19.93967 16.25546
52 WY 26.10650 30.10866
我能够获得两张不同尺度的地图,一张使用变量SB2005,另一张使用变量SB2013。
我尝试添加:+ legend.scale(c(0,60))
但没有成功。
library(usmap)
library(ggplot2)
plot_usmap(regions = "state", data=data, values = "SB2005")+
labs(title = "SB Market-Share by State (2005)") +
theme(panel.background = element_rect(colour = "black"))+
scale_fill_continuous(low = "white", high ="cornflowerblue",
name = "Market-Share (%)",label = scales::comma) +
theme(legend.position = "right")
我想得到两张颜色相同的地图。
考虑在scale_fill_continuous()中使用limits参数。
##Map for 2005
map_1 <- plot_usmap(regions = "state", data=data, values = "SB2005")+
labs(title = "SB Market-Share by State (2005)") +
theme(panel.background = element_rect(colour = "black"))+
scale_fill_continuous(low = "white", high ="darkblue",
name = "Market-Share (%)",label = scales::comma,
limits = c(0,60)) +
theme(legend.position = "right")
##Map for 2013
map_2 <- plot_usmap(regions = "state", data=data, values = "SB2013")+
labs(title = "SB Market-Share by State (2013)") +
theme(panel.background = element_rect(colour = "black"))+
scale_fill_continuous(low = "white", high ="darkblue",
name = "Market-Share (%)",label = scales::comma,
limits = c(0,60)) +
theme(legend.position = "right")
这是我的输出: