我无法弄清楚如何在一个地块上添加多个条形图(或者更好的是,饼图)。
最简单的情况是在不同的x,y位置将两个条形图添加到一个平面上。
一个应用实例是说明生活在某个地区的人数,以及居住在那里的移民人数(缺乏更好的例子)。 通过将这些人口信息与空间信息打包在一起,我希望能够有效地传达相应的信息。
涉及ggmaps的解决方案很好,但是,我不需要它们(显示背景中没有地图图层的数据是可以接受的)。
更准确地说,这里有一些代码,它不能按照我的意愿运行。特别是,条形图由矩形代替,矩形没有堆叠,但相互重叠,导致错误显示信息。
此外,在每个位置,条形图中每个条形图的总高度(或饼图的大小)应该对应于两个部分的总和。
require(ggplot2)
x <- c(1,2,3)
y <- c(3,2,4)
pop <- c(1,7,8)
mig <- c(1,5,2)
df <- rbind(x,y,pop,mig)
df <- t(df)
df <- data.frame(df)
# bring data in long format
require(reshape2)
tmp <- melt(df, id.vars = c("x","y"))
p <- ggplot(tmp, aes(x=x, y=y, fill = variable))
p <- p + geom_rect(aes(xmin = x, xmax = x + 0.1,
ymin = y, ymax = y + value
))
print(p)
最终,这应该作为更大动画的输入,可视化变量的时间发展。