Ich möchte einen BarPlot für jeden Standort auf einer Karte mithilfe ggplot2 produzieren, wie durch xingmowang mit Basis Grafiken und eine Reihe von Paketen getan wurde:Balkendiagramme auf Karte mit ggplot2 plotten?
http://nzprimarysectortrade.wordpress.com/2011/10/02/let-r-fly-visualizing-export-data-using-r/
Dies ist verwandten zu Embedding a miniature plot within a plot.
Für den Moment das Beste was ich tun kann, ist Einstimmungswert Größe in einem Jitterbasierten Punkt des Grundstückes zu Punkt:
require(ggplot2)
require(maps)
#Get world map info
world_map <- map_data("world")
#Creat a base plot
p <- ggplot() + coord_fixed()
#Add map to base plot
base_world <- p + geom_polygon(data=world_map,
aes(x=long,
y=lat,
group=group))
#Create example data
geo_data <- data.frame(long=c(20,20,100,100,20,20,100,100),
lat=c(0,0,0,0,0,0,0,0),
value=c(10,30,40,50,20,20,100,100),
Facet=rep(c("Facet_1", "Facet_2"), 4),
colour=rep(c("colour_1", "colour_2"), each=4))
#Creat an example plot
map_with_jitter <- base_world+geom_point(data=geo_data,
aes(x=long,
y=lat,
colour=colour,
size=value),
position="jitter",
alpha=I(0.5))
#Add faceting
map_with_jitter <- map_with_jitter + facet_wrap(~Facet)
map_with_jitter <- map_with_jitter + theme(legend.position="none")
print(map_with_jitter)
Mit einer unelegant Abhilfe:
subset_data <- geo_data[geo_data$Facet=="Facet_1" &
geo_data$long=="20",]
subplot <- qplot(data=subset_data,
x=colour,
y=value,
fill=colour,
geom="bar",
stat="identity")+theme(legend.position="none")
print(base_world)
print(subplot, vp=viewport((200+mean(subset_data$long))/400,(100+mean(subset_data$lat))/200 , .2, .2))
Verwandte Frage: http://stackoverflow.com/questions/10368180/plotting-pie-graphs-on-map-in-ggplot –
Was ist hier die Frage? Was hast du probiert? –
siehe '? Annotation_custom' für ein Beispiel der eingesetzten Grafik – baptiste