【发布时间】:2016-03-27 15:56:48
【问题描述】:
我在每个网格上有一个经度、纬度和值的数据。一个网格可能有多个值,所以我设置alpha 来可视化多个值。我的目标是用三个不同的范围填充网格。如果该值为零,则该网格将为空。
library(maps)
library(ggplot2)
data <- read.csv("G:/mydata.csv")
g1 <- ggplot(aes(x=x, y=y, fill= A), data=data) +
geom_tile(data=subset(data, A > 1970 & A < 1980),fill = "black", alpha = 0.5)+
geom_tile(data=subset(data, B > 1970 & B < 1980),fill = "black", alpha = 0.5)+
geom_tile(data=subset(data, C > 1970 & C < 1980),fill = "black", alpha = 0.5)+
geom_tile(data=subset(data, A > 1979 & A < 1990),fill = "blue", alpha = 0.5)+
geom_tile(data=subset(data, B> 1979 & B < 1990), fill = "blue", alpha = 0.5)+
geom_tile(data=subset(data, C > 1979 & C < 1990),fill = "blue", alpha = 0.5)+
geom_tile(data=subset(data, A > 1989),fill = "red", alpha = 0.5)+
geom_tile(data=subset(data, B > 1989),fill = "red", alpha = 0.5)+
geom_tile(data=subset(data, C > 1989),fill = "red", alpha = 0.5)+
theme_classic()
错了。由于蓝色网格更大。我找不到错误。我关注了link,但未能成功。我想我缺少一些微不足道的东西。我的数据可以访问here。非常感谢。
【问题讨论】:
-
geom_tile并不像您想象的那样工作。它为每次调用geom_tile计算一个新网格。需要考虑一下。
标签: r plot ggplot2 raster spatial-data-frame