【发布时间】:2019-01-19 16:57:09
【问题描述】:
我想将二维数据表示为条形,放置在 x 轴值上,但barplot() 不允许控制 x 轴放置,plot() 不绘制条形:
x <- c(1, 2, 3, 5)
y <- 1:4
plot(x, y, type = "h")
barplot(y)
Click for an image illustrating the plot() and barplot() examples.
我知道我可以绘制直方图 –
hist(rep(x, y), breaks = seq(min(x) - 0.5, max(x) + 0.5, 1))
Click for an image illustrating the hist() example.
– 但是原始(非频率)数据的重新创建和中断的计算并不总是像本示例中那样简单,因此:
- 有没有办法强制
plot()画条? - 或者有没有办法强制
barplot()将条形图放置在 x 轴上的特定值处?
基本上,我想要的是这样的:
barplot(y, at = x)
我更喜欢使用 base R 并避免使用 ggplot。
【问题讨论】:
-
条形图在 x 轴上使用分类值。要使用 barplot 绘制特定值,那么所有类别都需要一个值,即使为零。就像在这个
barplot(c(1, 2,3, 0, 4), names.arg=1:5) -
@Dave2e 这是个好主意,但只有在条形间距均匀的情况下才有效。如果
x <- c(1.45, 3.465, 7.0000004, 9.89)怎么办? -
条形图适用于离散类型的数据,因此如果数据间隔不均匀,则条形图不是正确的绘图类型。您的问题没有解释什么是数据或您试图展示什么,因此不可能提供有意义的建议。