Я пытаюсь использовать огранку для создания нескольких карт, заполненных разными значениями.
Я создал упрощенный пример ниже, который воспроизводит как то, что я пытаюсь сделать, так и результат, которого я не ожидаюиз 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)))
В идеале на последнем участке должны быть две карты, одна из которых показывает сообщество в«А», а другой показывает сообщество в «Б».Вместо этого на графике показана только одна карта, и я даже не уверен, что отображается на заливку.