【问题标题】:plotting with ggplot2. Error用 ggplot2 绘图。错误
【发布时间】:2010-11-19 01:26:00
【问题描述】:

我正在尝试使用 ggplot2 包绘制数据,但我遇到了一个错误: 数据是一组代表每天值的列(值在海拔高度变化)

V1 V2.... V500
2E-15.....3E-14
3e-14.....3E-21
1.3E-15....NA

我想在两个轴上绘制所有数据并填充值。

代码;

a<-data.frame("/../vertical_value.csv",sep=",",header=F)
am<-melt(t(a))
dataset<-expand.grid(X = 1:500, H = seq(1,25,by=1))
dataset$axp<-am$value
g<-ggplot(dataset, aes(x = X, y = H, fill = axp)) + geom_tile()

错误:

Error: Casting formula contains variables not found in molten data: XHaxp

【问题讨论】:

  • Jaun,是否有可能向我们提供您的数据或相同形状的虚拟数据?转换错误可能会反映数据中的 NA。 na.omit(dataset) 可能有效。但是如果不看它应该是什么就很难说。另外,有人可以正确编码他的帖子吗?
  • 请给出一个可重现的例子。我用a &lt;- matrix(rnorm(500*25), nc=500)尝试了你的代码,并没有出现任何错误(我也不明白你为什么不能在情节中直接使用am)。
  • 不知道到底发生了什么,但我相信你的错误可能是在 melt(t(a)) 阶段?如果没有可重现的例子,真的很难走得更远。这是一个类似的例子(对不起格式): z

标签: r ggplot2


【解决方案1】:

再看一遍,我认为您应该能够通过在融化后删除 NA 行来绕过它。

a<-data.frame("/../vertical_value.csv",sep=",",header=F)
am<-melt(t(a))
am <- na.omit(am) ## ADD THIS LINE
dataset<-expand.grid(X = 1:500, H = seq(1,25,by=1))
dataset$axp<-am$value
g<-ggplot(dataset, aes(x = X, y = H, fill = axp)) + geom_tile()

【讨论】:

    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 2014-03-19
    • 2016-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多