【发布时间】:2018-02-06 09:54:03
【问题描述】:
我正在尝试使用 ggplot2 为(气象)变量做一个水平图。该变量是在时间上连续测量的(我的 x 轴),但在每个时间步都以非连续的高度(y 轴)测量。 因此,生成的图显示了指定高度(y 坐标)处的数据,但两者之间没有任何内容。 这是一个例子:
library(ggplot2)
data <- runif(400, min=0, max=10)
index <- c(1:20)
heights <- c(1,2,3,4,5,7,9,12,15,19,23,28,33,39,45,52,59,67,75,83)
dat <- as.data.frame(cbind(expand.grid(X=index,Y=heights),data))
ggplot(dat, aes(x=dat[,1], y=dat[,2],z=dat[,3])) +geom_tile(aes(fill=dat[,3]))
这会产生以下情节:
有没有一种简单的方法可以完全填充情节,即使情节上部的线条更宽? 谢谢!
【问题讨论】:
-
geom_tile采用您可以使用的height美学。我建议不要使用dat[,1]来引用使用ggplot的数据,而是使用变量名。 -
我建议查看great answer,了解在绘制类似内容时推断缺失值
-
@Axeman,您能否详细说明一下高度参数?我认为这将是某种矢量,为图中的每一行指定高度?
-
@PoGibas,谢谢你的链接。由于懒惰的原因,我试图避免插入我的数据,但这可能是我必须走的路。