2013-10-10 60 views
0

我想根据我提供的矢量设置我的酒吧。该向量是替换名称.arg funciton用于命名酒吧。我想要实现的是:我想绘制我的酒吧,以便我提供(类似于直方图排序)。目标是根据矢量绘制条形图,而不是以相等的间隔绘制。根据数字矢量设置单杠

从这里的例子我应该得到的最左手侧的酒吧反对均匀间隔,因为他们现在的样子。

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

你的问题是怎么样的不清楚。你在做什么?预期输出是什么? – Thomas

+0

当我自己绘制barplot时,条形图名称(names.args)只是每个图形的名称。我希望能够操作轴,并且最好以0.2间隔设置在-0.2至0.6之间的范围内。以便与这些点相对应的横杠相应地调整 –

+0

如果我正确地理解了您,您希望将您的酒吧置于'b'给出的位置。我认为不可能用'barplot'设置'at'参数,即“数字向量给出了应该绘制箱形图的位置”(参见'boxplot')。 – Henrik

回答

1

这是一个问题的编辑之前你的问题,即如何绘制水平条与数字矢量确定的位置。正如我在评论中写道,barplotbase不具有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() 

enter image description here

+0

@pops,因为我的答案是指你与横条_original question_(我以为是你真的想解决)问题,您可以考虑修改回到你的问题。 – Henrik

+0

是,这是我试图解决这个问题。我已经审查了原来的职位。顺便说一下,谢谢! –

+0

@pops,很高兴帮助!干杯。 – Henrik