【问题标题】:Horizontal bar-chart: mis-matched axis units水平条形图:不匹配的轴单位
【发布时间】:2017-11-24 13:06:32
【问题描述】:

我正在尝试在 y 轴上创建一个带有年份的旋转条形图。某些年份有一个值(即条形图),其余年份为零。

由于某种原因,当我添加带有年份的 y 轴时,条形图和值反映的年份之间存在不匹配。如果有人能解释为什么会发生这种情况以及如何解决它,我将不胜感激。

这是我的数据的一个子集:

x <- c(0, 0, 0, 0, 0, 0, 0, 1.82, 0, 0, 0, 0, 0, 1.04, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.28, 0, 0, 0, 0, 0, 0, 0, 0, 1.43, 1.55, 0, 0, 0, 0, 0, 0, 0, 1.22, 1.14, 2.05, 0, 0, 0, 0, 0)
y <- 1860:1909

barplot(x, horiz=TRUE, axes=F)
axis(2, at=seq(1, 50, 2), labels=seq(1860, 1909, 2), las=2)

第一个值出现在 1867 年,但出现在图表上的 1868 年。我相信数据很好,因为 x[8] 返回 1.82 而 y[8] 返回 1867,这是正确的。错配通过系列放大;实际上,最后三个条形图位于 y 轴上方。

也许我错过了一些基本的东西......非常感谢提前。

【问题讨论】:

    标签: r charts bar-chart


    【解决方案1】:

    barplot() 不会在整数值上绘制条形图。它返回它用作矩阵的值,然后您可以使用它来标记轴

    bp <- barplot(x, horiz=TRUE, axes=F)
    axis(2, at=bp[,1][seq(1,50, by=2)], labels=seq(1860, 1909, 2), las=2)
    

    【讨论】:

      猜你喜欢
      • 2013-02-26
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 2020-03-20
      • 2017-10-07
      • 2017-09-11
      相关资源
      最近更新 更多