5
我正在嘗試使用構面生成多個填充了不同值的地圖。如何使用geom_polygon進行構面生成地圖網格
我已經創建了下面的簡化示例,它重現了我想要做的以及我不期望從ggplot得到的結果。我使用美國地圖,併爲各州生成兩個假想社區。我可以分別繪製每個社區,但我試圖在同一時間生成它們,我只能獲得一張地圖。
require(ggplot2)
require(maps)
map <- map_data("state")
states <- unique(map$region)
# generate some hypothetical communities
runA <- data.frame(region=states, id="A",
community=rbinom(length(states),1,.5))
runB <- data.frame(region=states, id="B",
community=rbinom(length(states),1,.5))
membership <- rbind(runA, runB)
# plot an individual map of communities from run A
df <- merge(map, runA, by="region")
ggplot(df) +
aes(long, lat, group=group) +
coord_equal() +
geom_polygon(aes(fill = as.factor(community)))
# likewise for B
df <- merge(map, runB, by="region")
ggplot(df) +
aes(long, lat, group=group) +
coord_equal() +
geom_polygon(aes(fill = as.factor(community)))
# now instead do one plot with two maps from facetting on id
df <- merge(map, membership, by="region")
ggplot(df) +
aes(long, lat, group=group, facets= id ~.) +
coord_equal() +
geom_polygon(aes(fill = as.factor(community)))
理想情況下,最後的情節應該有兩個圖,一個顯示社區「A」,另一個表示「B」的社區。相反,該圖只顯示一張地圖,我甚至不知道什麼被映射到填充。
謝謝!爲什麼可以在`aes()`中指定`facets`美學? – 2011-12-13 20:18:53