我在每个网格上都有经度,纬度和值的数据。一个网格可能有多个值,所以我设置alpha
以可视化多个值。我的目标是填充三个不同范围的网格。如果该值为零,那么该网格将是空的。在ggplot2中绘制经度纬度填充值的错误
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'的每个调用计算一个新的网格。需要考虑这一点。 –