0

我正在尝试根据我提供的向量设置我的栏。向量是用于命名条的 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))
4

1 回答 1

1

这是在编辑之前对您的问题的回答,即如何使用由数字向量确定的位置绘制水平条。正如我在评论中所写,barplotinbase没有at参数,即“给出箱线图绘制位置的数字向量”(参见 参考资料?boxplot)。

这是一个ggplot替代方案。ggplot数据必须在数据框中。x 和 y 轴使用 . 交换(使 x 垂直,y 水平)coord_flip。我还将之前的 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() 

在此处输入图像描述

于 2013-10-10T18:05:09.923 回答