我能够通过本教程创建美国地图。当我尝试添加额外的点时,无论我输入什么数据,它们最终都会到达南达科他州。
library(ggplot2)
library(usmap)
testData <- data.frame(LATITUDE = 20.31557, LONGITUDE = -102.42547)
p <- plot_usmap( regions = "state")
p + geom_point(data = testData, aes(x = LONGITUDE, y = LATITUDE), color = "red")
Run Code Online (Sandbox Code Playgroud) 我知道 usmap 有一个label选项plot_usmap()。我想标记一些数字,而不是状态名称。我想 usmap 中应该有与州质心坐标相关的数据,但我不知道如何找到它。如果我可以获得坐标,那么我可以用 来标记数字geom_text()。
这是我的数据。
State Abbrev Code n_votes Attitude fips
1 Alabama Ala. AL 9 Solid Republican 01
2 Alaska Alaska AK 3 Toss-up 02
3 Arizona Ariz. AZ 11 Toss-up 04
4 Arkansas Ark. AR 6 Solid Republican 05
5 California Calif. CA 55 Solid Democrat 06
6 Colorado Colo. CO 9 Leaning to Democrat 08
7 Connecticut Conn. CT 7 Solid Democrat 09
8 Delaware Del. DE 3 Solid …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 R 中创建一个自定义渐变比例,它将根据值改变颜色。
基本上:
我希望填充颜色是 和 之间的渐变darkblue,并且blue介于1和之间的值50。
我希望填充颜色是 和 之间的渐变lightblue,并且yellow介于50和之间的值100。
等等...
我已经尝试过下面的代码,但这显然是错误的方法:
scale_fill_gradientn(limits = c(0,50),colours=c("darkblue","blue"),na.value="#101010") +
scale_fill_gradientn(limits = c(50,100),colours=c("lightblue","yellow"),na.value="#101010") +
scale_fill_gradientn(limits = c(100,1000),colours=c("orange","orangered"),na.value="#101010") +
scale_fill_gradientn(limits = c(1000,10000),colours=c("darkred","red"),na.value="#101010") +
scale_fill_gradientn(limits = c(10000,30000),colours=c("red","#FF877D"),na.value="#101010") +
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
编辑:
使用此代码:
scale_fill_gradientn(
limits = range(0,max(da$val)),
colours = colours[c(1, seq_along(colours), length(colours))],
values = c(0, scales::rescale(colour_breaks, from = range(0,da$val)),range(0,da$val))) +
Run Code Online (Sandbox Code Playgroud)
我得到这样的效果:
这与我想要的很接近,但我并不真正理解重新缩放代码及其作用。
我希望它从蓝色开始,然后使用中断变为红色。
已经很接近了——只是从黄色开始。
编辑:
在@teunbrand 的帮助下,我成功了!
这是代码:
my_limits <- range(c(0, usa.dat[,50:ncol(usa.dat)])) …Run Code Online (Sandbox Code Playgroud) 我试图用标记的每个县来绘制新墨西哥州的地图,但标签大小总是比所需的大得多。这是我到目前为止使用的代码。
plot_usmap("counties", include=("NM"), labels=TRUE, label_color="red")
Run Code Online (Sandbox Code Playgroud)
我的地图最终看起来像这样:

如何更改标签的大小以使其不重叠?我试过 size= 但这只是改变了寄宿生的大小。
谢谢您的帮助。
我正在尝试根据“usmap”包制作美国选举地图。问题是这个包似乎只能做白色背景。如果我改变背景颜色它会显示边框。我尝试通过设置删除边框panel.border = element_blank(),但似乎不起作用。有什么办法可以解决这个问题吗?

library(usmap)
poll <- read_csv('poll.csv')
poll$fips <-fips(poll$State)
poll$Attitude <- factor(poll$Attitude, levels = attitude)
plot2 <- plot_usmap(data = poll, values = "Attitude", color = 'white', labels=FALSE) + scale_fill_manual(values=c("#1055b6", "#67b5e2", "#cccccc","#ffaca3","#ed4748")) + guides(fill = FALSE)
plot2+ theme(plot.background = element_rect(fill = "#fdf1e5"),
panel.background = element_rect(fill = "#fdf1e5"),
panel.border = element_blank())
Run Code Online (Sandbox Code Playgroud)
这是我的数据。
State Abbrev Code n_votes Attitude fips
1 Alabama Ala. AL 9 Solid Republican 01
2 Alaska Alaska AK 3 Toss-up 02
3 Arizona Ariz. AZ 11 Toss-up 04 …Run Code Online (Sandbox Code Playgroud)