r - 水平条形图 : mis-matched axis units

标签 r charts bar-chart

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

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

这是我的数据的子集:

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 轴上方。

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

最佳答案

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)

关于r - 水平条形图 : mis-matched axis units,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44679291/

相关文章:

R:根据字符向量选择 sqlite 数据库的子集

regex - R中的gsub和regex遇到问题

r - 带有观星器的 LaTeX 表格的简短说明

r - 更改绘图轴上刻度线的间距?

arrays - 从数组数据而不是范围创建图表

javascript - Google Chart( Material )- 类型栏 - arrayToDataTable 中的数据具有角色样式 KO?

charts - FLOT 中的对数图

python - 无法在每个水平条形图的顶部添加值

C# MSChart : Draw axis line at 0 even with negative values

javascript - 显示组间交叉表的分组条形图