ggplot map с l

Я хочу построить карту мира, используя ggplot2 (v.9), который объединяет две части информации. Следующий пример иллюстрирует:

library(rgdal)
library(ggplot2)
library(maptools)

# Data from http://thematicmapping.org/downloads/world_borders.php.
# Direct link: http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip
# Unpack and put the files in a dir 'data'

gpclibPermit()
world.map <- readOGR(dsn="data", layer="TM_WORLD_BORDERS_SIMPL-0.3")
world.ggmap <- fortify(world.map, region = "NAME")

n <- length(unique(world.ggmap$id))
df <- data.frame(id = unique(world.ggmap$id),
                 growth = 4*runif(n),
                 category = factor(sample(1:5, n, replace=T)))

## noise
df[c(sample(1:100,40)),c("growth", "category")] <- NA


ggplot(df, aes(map_id = id)) +
     geom_map(aes(fill = growth, color = category), map =world.ggmap) +
     expand_limits(x = world.ggmap$long, y = world.ggmap$lat) +
     scale_fill_gradient(low = "red", high = "blue", guide = "colorbar")

Однако это решение не является хорошим способом отображения как роста, так и категории. Рост хорошо заметен, но категорию почти невозможно увидеть, потому что это всего лишь граница.

Я пытался увеличить размер границ, но безуспешно (с новым geom_map тяжело работать). Кто-нибудь знает, как увеличить размер границы в приведенном выше примере, или еще лучше, механизм для отображения двух факторов?

Дополнительный вопрос: названия стран, такие как используемые в пакете карт особенности СССР!) данные, использованные в примере, ненадежны. Я предпочитаю использовать ISO 3166-1 alpha-3(1). Кто-нибудь знает данные, которые можно легко использовать с ggplot2, которые содержат названия стран ISO-... (включены в связанные данные)

Результат:

результат http://ompldr.org/vY3hsYQ

22
задан Rasmus 4 March 2012 в 22:25
поделиться