5

我想在与线条相同的图上绘制几个时间数据的直方图(1 周长)。

我有时间数据:

> dput(head(ts))
structure(c(1364421605.227, 1364375025.034, 1364376298.393, 1364375002.928, 
1364393158.084, 1364423268.856), class = c("POSIXct", "POSIXt"))

我想绘制它的直方图。hist(ts,breaks=7*24)工作正常,但它使用的h绘图类型会掩盖我想要添加的其他直方图(我知道我可以使用透明颜色 -rainbow使用alpha=0.5,但我真的很想看到线条)。

我试过

> hist(ts, breaks = 7*24, type="l")
Warning messages:
1: In title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...) :
  graphical parameter "type" is obsolete
Calls: hist -> hist.POSIXt -> myplot -> plot -> plot.histogram -> title
2: In axis(2, ...) : graphical parameter "type" is obsolete
Calls: hist -> hist.POSIXt -> myplot -> axis
3: In axis(side, at = z, labels = labels, ...) :
  graphical parameter "type" is obsolete
Calls: hist -> hist.POSIXt -> myplot -> axis.POSIXct -> axis

为什么要hist传递typetitle

我可以创建直方图对象并单独绘制它:

> h <- hist(ts, breaks=7*24, plot=FALSE)
> plot(x=h$mids, y=h$density, type="l")

但随后x轴标有数字(ed,“1364421605”)而不是日期(例如,“Mar 25”)。

我想我应该使用axis,但我宁愿自己不处理 - 毕竟,hist只构建我想要的轴!

谢谢!

4

1 回答 1

5

以下看起来很奇怪,因为您在dput. 您可以绘制没有 x 轴的线图,然后像这样添加它:

h <- hist(ts, breaks=7*24, plot=FALSE)
plot(x=h$mids, y=h$density, type="l", xaxt="n")
axis(1,at=ts,labels=format(ts,"%b-%d"))

在此处输入图像描述

于 2013-05-21T23:41:13.100 回答