2013-10-10 35 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