2017-02-22 28 views
1

我正在密度图与我使用几个时间系列。命令构成的数据帧的ggplot(DATF)为:错误与密度图的值和说明

ggplot (melt (datf), mapping = aes (fill = variable, x = value)) + geom_density (alpha = .5)+ xlim(0,45) 

和我正在此图表:

enter image description here 有两件事情错了, 1:段传说显然是大,显示我不希望显示的信息(我想用存储在向量“v”的名字) 2:情节实际上是错误的,一个正确的应该显示这样的形状:

enter image description here 我查了其他类似的问题,但我对如何给出正确的命令感到困惑。如何正确的命令应该看起来?

+1

请添加您的数据,所以我们可以重新创建您的具体问题。请参阅[这篇文章关于可重复的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – emilliman5

+0

我可以添加整个代码,但它不会帮助。我测试了它,并且在绘图命令之前一切正确,错误只在那里。我的数据框(datf)是一个数据框创建的一个循环中创建的列表的绑定元素(时间序列)。 “h = do.call(cbind,lista)”“datf = as.data.frame(h)” –

+3

对'ggplot'的调用_looks_正确,但很难准确理解问题出在哪里,的数据。考虑输入(头(熔化(datf),10))'。 – bouncyball

回答

0

这两个数字有一个关键的区别。它看起来像你需要在你的数据框中省略NA值。但是,如果没有您的实际数据框架,很难分辨出差异。

尝试

na.omit(数据)

+0

在我的循环中创建的10个时间系列区域(ts1,ts2,ts3,ts4,ts5,ts6,ts7,ts8,ts9,ts10),如果在循环之后我将它们绑定为k = cbind(ts1,ts2,ts3 ,ts4,ts5,ts6,ts7,ts8,ts9,ts10)datf = as.data.frame(k)我给出了上面的命令我得到第二个图形(正确的),但如果我添加这些每个循环中的时间序列作为列表的元素,并且在循环之后绑定列表的元素:h = do.call(cbind,lista)## datf = as.data.frame(h)并给出绘图命令I得到第一张图(错误的一张)。 –

+0

我不能把它作为第一个选项,因为在实际情况下,我有超过10个时间序列,所以我需要使用一个列表。任何想法? :) –