【问题标题】:R plot and barplot how to fix ylim not alike?R plot和barplot如何修复ylim不一样?
【发布时间】:2017-01-25 06:03:27
【问题描述】:

我尝试使用 base 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 轴,以表明它不一样。我知道我可以通过首先绘制条形图然后使用xy args 的lines 添加lines 来达到预期的结果。

但我正在寻找灵活的解决方案,让您可以向条形图添加线条,就像向点或其他线条图添加线条一样。那么有没有办法确保y轴相同?

编辑:也将usr 参数添加到 par 对我没有帮助。

par(new=T,usr = par("usr"))

【问题讨论】:

    标签: r time-series bar-chart


    【解决方案1】:

    yaxs="i" 添加到您的线图中。像这样:

    plot(pw,ylim = c(0,80),col="blue",lwd=3, yaxs="i")
    

    R 在 y=0 处开始条形图,而折线图不会。这是为了确保在您的数据是 y=0 时看到一条线,否则它与 x 轴线对齐。

    【讨论】:

    • 这正是我想要的!在不同的地方迷失了所有不同的选项:parplotbarplot... args。加上参数名称在这里并没有真正说明。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2022-07-23
    • 2013-09-24
    • 1970-01-01
    相关资源
    最近更新 更多