我正在尝试根据我提供的矢量设置我的酒吧。向量是用于命名条形的names.arg函数的替代。我想要实现的是:我想按照我提供的方式绘制条形图(类似于直方图排序)。目标是根据矢量绘制条形图,而不是以相等的间隔绘制条形图。
从这里的例子来看,我应该让左手边的大部分钢筋相对于现在均匀分布。
a = c(1,2,6,8,11,2,3)
b = c(-0.2, 0.1, 0.12,0.13,0.2,0.5,0.6)
data = cbind(a,b)
barplot(data[,1], names= b, col =rgb(0,200,0,50,maxColorValue=255))
答案 0 :(得分:1)
这是编辑前您的问题的答案,即如何使用由数字向量确定的位置绘制水平条。正如我在评论中写的那样,barplot
中的base
没有at
参数,即“给出应绘制箱图的位置的数字向量”(参见?boxplot
})。
这是ggplot
替代方案。在ggplot
中,数据必须位于数据框中。使用coord_flip
交换x和y轴(使x垂直,y水平)。我还将先前的x值(a)设置为y值,反之亦然。将expand
设置为零以移除条形“底部”与轴之间的边距。
df <- data.frame(a = a, b = b)
ggplot(data = df, aes(x = b, y = a)) +
geom_bar(stat = "identity",
position = "dodge",
width = 0.03,
alpha = 0.5) +
geom_point() +
coord_flip() +
scale_y_continuous(expand = c(0,0)) +
theme_classic()