在条形图中的特定 x 轴值处放置条形

用户10915156

我想将二维数据表示为条形,放置在 x 轴值上,但barplot()不允许控制 x 轴放置,plot()也不绘制条形:

x <- c(1, 2, 3, 5)
y <- 1:4
plot(x, y, type = "h")
barplot(y)

单击以获取说明plot()barplot()示例的图像

我知道我可以绘制直方图 –

hist(rep(x, y), breaks = seq(min(x) - 0.5, max(x) + 0.5, 1))

单击以获取说明hist()示例的图像

– 但是原始(非频率)数据的重新创建和中断的计算并不总是像本示例中那样简单,因此:

  • 有没有办法强制plot()拉杆?
  • 或者有没有办法强制barplot()将条形放置在 x 轴上的特定值?

基本上,我想要的是:

barplot(y, at = x)

我更喜欢使用基础 R 并避免使用 ggplot。

G5W

虽然我同意@Dave2e 的观点,即条形图可能不是表示数据的最佳方式,但您可以通过从空白图开始并绘制相关矩形来获得类似于您所描述的内容。我正在使用您的 y 值 (1:4) 和您在评论中提到的 x 值。我不确定您在 x 轴上想要什么,但我显示了您提供的 x 值的标签。为了看起来像条形图,我取消了 x 轴上的刻度线。

plot(NULL, xlim=c(0,11), ylim=c(0,4.5), bty="n",
    xaxt="n", xaxs="i", yaxs="i", xlab="", ylab="")
rect(x-0.5, 0, x+0.5, y, col="gray")
axis(side=1, at=x, col.ticks=NA)

类似条形图的图表

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章