我想在与线条相同的图上绘制几个时间数据的直方图(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
将type
传递给title
?
我可以创建直方图对象并单独绘制它:
> h <- hist(ts, breaks=7*24, plot=FALSE)
> plot(x=h$mids, y=h$density, type="l")
但是x
轴标有数字(e.d。,“1364421605”)而非日期(例如“3月25日”)。
我想我应该使用axis
,但我宁愿不自己处理 - 毕竟,hist
只构建我想要的轴!
谢谢!
答案 0 :(得分: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"))