我正在尝试绘制一个简单的等高线图,类似于示例here。但是,它会失败,并显示“计算在stat_contour()中失败:没有指定适当的'z‘矩阵”。
library('MASS')
library('tidyverse')生成高斯密度:
den = kde2d(x = rnorm(10000), y = rnorm(10000), h=.5, n=100)
zdf = data.frame(den$z)
colnames(zdf) = den$y
zdf$x = den$x与文档示例类似:
melted = melt(zdf, id.vars = 'x', variable.name = 'y', value.name='z')
colnames(melted)
# [1] "x" "y" "z"
dim(melted)
# [1] 10000 3
ggplot(melted, aes(x, y, z=z)) + stat_contour()
# Warning message:
# Computation failed in `stat_contour()`:
# no proper 'z' matrix specified“‘melted”的格式看起来和火山的例子完全一样,x作为快速索引,z中的一个条目代表x和y的每一个独特的组合。
发布于 2017-03-15 23:42:12
在熔化时,列名称在y列中转换为整数类型(尽管它们仍然打印为doubles?)添加以下行解决了此问题:
melted$y = as.double(melted$y)https://stackoverflow.com/questions/42814184
复制相似问题