【发布时间】:2020-08-25 17:47:51
【问题描述】:
我正在尝试使用 ggplot2 和地图绘制以下 DF。我对情节本身没有问题,但两个传说看起来不同。我尝试了不同的组合,包括休息、设置限制,但两者仍然不同。我需要的是两个图的图例相同,值具有相同的颜色。
我尝试了以下方法。但这两个传说并不匹配。在 DF2 的情节中,这似乎对我有用,但在 DF1 中,传说从 100 开始,颜色不匹配。有人可以指出一个实用的解决方案吗?
library(maps)
library(ggplot2)
ggplot(data = DF1, mapping = aes(x = long, y = lat, group = group)) +
coord_fixed(1.3) +
geom_polygon(aes(fill = V1), col="black") +
scale_fill_gradientn(colours = rev(rainbow(20)),guide="colourbar",
breaks = c(1,100, 1000, 10000,100000, 1000000),
trans = "log10")
+
ggtitle("Title(log10)")
**-Plot DF2**
ggplot(data = DF2, mapping = aes(x = long, y = lat, group = group)) +
coord_fixed(1.3) +
geom_polygon(aes(fill = V2), col="black") +
scale_fill_gradientn(colours = rev(rainbow(20)),guide="colourbar",
breaks = c(1,100, 1000, 10000,100000, 1000000),
trans = "log10")
+
ggtitle("TitleDF2(log10)")
我的数据:
DF1
structure(list(long = c(55.1921882629395, 55.1940422058105, 55.1858367919922,
55.1194343566895, 55.1042976379395, 55.0250015258789, 54.9982452392578,
54.9224586486816, 54.8048820495605, 54.6522483825684, 54.4716796875,
54.2701187133789, 54.0545883178711, 53.8321304321289, 53.6095695495605,
53.39404296875, 53.1923828125, 53.0119132995605, 52.8592796325684,
52.7416000366211, 52.6659202575684), lat = c(22.9229507446289,
22.8500003814697, 22.7041015625, 22.6239261627197, 22.6214847564697,
22.6311531066895, 22.6343746185303, 22.6436538696289, 22.6580085754395,
22.6766605377197, 22.69873046875, 22.7233390808105, 22.7496585845947,
22.7768058776855, 22.8040046691895, 22.830322265625, 22.8549308776855,
22.8770008087158, 22.8956050872803, 22.9100093841553, 22.9192867279053
), group = c(15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15), order = 1049:1069, region = c("United Arab Emirates",
"United Arab Emirates", "United Arab Emirates", "United Arab Emirates",
"United Arab Emirates", "United Arab Emirates", "United Arab Emirates",
"United Arab Emirates", "United Arab Emirates", "United Arab Emirates",
"United Arab Emirates", "United Arab Emirates", "United Arab Emirates",
"United Arab Emirates", "United Arab Emirates", "United Arab Emirates",
"United Arab Emirates", "United Arab Emirates", "United Arab Emirates",
"United Arab Emirates", "United Arab Emirates"), subregion = c(NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_
), V1 = c(12905.6580666578, 12905.6580666578,
12905.6580666578, 12905.6580666578, 12905.6580666578, 12905.6580666578,
12905.6580666578, 12905.6580666578, 12905.6580666578, 12905.6580666578,
12905.6580666578, 12905.6580666578, 12905.6580666578, 12905.6580666578,
12905.6580666578, 12905.6580666578, 12905.6580666578, 12905.6580666578,
12905.6580666578, 12905.6580666578, 12905.6580666578)), row.names = 1010:1030, class = "data.frame")
DF2:
structure(list(long = c(-64.3834457397461, -64.6214828491211,
-64.8529815673828, -64.8198776245117, -64.8043899536133, -64.8694839477539,
-64.9169006347656, -65.0694351196289, -65.1333999633789, -65.15185546875,
-65.1549758911133, -65.1278839111328, -65.0182647705078, -65.0070266723633,
-65.05908203125, -64.9863739013672, -64.8980484008789, -64.6995162963867,
-64.6224594116211, -64.5377502441406, -64.51171875), lat = c(-40.9224586486816,
-40.8544921875, -40.8137664794922, -40.7932586669922, -40.7565460205078,
-40.73583984375, -40.7313499450684, -40.8052749633789, -40.8806648254395,
-40.9469757080078, -41.1056632995605, -41.23876953125, -41.56689453125,
-41.7451171875, -41.9699211120605, -42.10205078125, -42.1618156433105,
-42.2208023071289, -42.2610321044922, -42.2545890808105, -42.2702140808105
), group = c(20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20), order = 1554:1574, region = c("Argentina",
"Argentina", "Argentina", "Argentina", "Argentina", "Argentina",
"Argentina", "Argentina", "Argentina", "Argentina", "Argentina",
"Argentina", "Argentina", "Argentina", "Argentina", "Argentina",
"Argentina", "Argentina", "Argentina", "Argentina", "Argentina"
), subregion = c(NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_), V2 = c(5830.59840429215,
5830.59840429215, 5830.59840429215, 5830.59840429215, 5830.59840429215,
5830.59840429215, 5830.59840429215, 5830.59840429215, 5830.59840429215,
5830.59840429215, 5830.59840429215, 5830.59840429215, 5830.59840429215,
5830.59840429215, 5830.59840429215, 5830.59840429215, 5830.59840429215,
5830.59840429215, 5830.59840429215, 5830.59840429215, 5830.59840429215
)), row.names = 1500:1520, class = "data.frame")
【问题讨论】: