我尝试使用基数R将时间序列绘制为条形图和普通线图。我尝试编写一个灵活的函数来绘制这样的图,并想绘制没有轴的图,然后手动添加通用轴。
现在,我遇到了一个奇怪的问题:相同的ylim
值导致不同的轴。请考虑以下示例:
data(presidents)
# shorten this series a bit
pw <- window(presidents,start=c(1965))
barplot(t(pw),ylim = c(0,80))
par(new=T)
plot(pw,ylim = c(0,80),col="blue",lwd=3)
我故意在这里绘制来自两个地块的y轴,以表明它们不一样。我知道我可以通过首先绘制条形图然后使用lines
和x
y
lines
来添加usr
来实现预期结果。
但我正在寻找灵活的解决方案,让您在条形图中添加线条,例如向点或其他线条图添加线条。那么有没有办法确保y轴相同?
编辑:同时将par(new=T,usr = par("usr"))
参数添加到par并不能帮助我。
{{1}}
答案 0 :(得分:3)
将yaxs="i"
添加到您的行图中。像这样:
plot(pw,ylim = c(0,80),col="blue",lwd=3, yaxs="i")
R在y = 0处开始条形图,而线条图则不胜。这是为了确保在数据为y = 0的情况下看到一条线,否则它与x轴线对齐。