2012-04-07 65 views
3
  1. 我有以下的代碼爲一個曲線圖: barplot(as.vector(t(mat1[1,3:ncol(mat1)])),las=2) ,我想改變使得X軸由線替換Ŷ = 2;如下圖所示,有效地移動了2個單位的軸。 enter image description here定製圖形

    我需要的杆開始在2,使得:

    • 爲3的值的杆從Y = 2行開始和上升在y = 3至結束。
    • 爲0的值的杆從Y = 2行開始和下降位於y結束= 0
  2. 我怎樣才能使mat1列名我X - 軸類別?

+1

要改變x軸標籤到mat1'的'中的列名,在'barplot'使用'names.arg'參數(如'names.arg = colnames(MAT1 )[3:NcoI位(MAT1)]')。至於你的第一個問題,當'horiz = FALSE'時,'barplot'通常不會繪製x軸,這是默認值。你想繪製X軸,還是你想要條形圖的條形從2開始而不是0? – BenBarnes 2012-04-07 20:14:44

+0

@BenBarnes我想要酒吧從2開始,並上升或下降到他們的價值,即barplot是集中在y = 2左右。 – user1202664 2012-04-07 21:16:51

回答

7

Barplot始終以0開始它的小節。從每個y值減去2(或5)。將ylim設置爲範圍(y值-5)。您將需要使用yaxt =「n」來抑制繪製y軸。軸的xpd參數允許標籤的範圍擴展到實際值的範圍之下。

set.seed(231) 
tN <- table(Ni <- stats::rpois(100, lambda=5)) 
tNshift <- tN-5 
barplot(tNshift, space = 1.5, yaxt="n", xaxt="n", ylim=range(tNshift)) 
abline(0,0) 
axis(2, at= c(-5, pretty(tNshift)), labels=c(0, pretty(tNshift)+5), xpd=TRUE) 

enter image description here

1

這裏是?barplot第一個例子,略作修改,以abline(x,y)添加

require(grDevices) # for colours 
tN <- table(Ni <- stats::rpois(100, lambda=5)) 

barplot(tN, space = 1.5, axisnames=FALSE) 
abline(5,0) 

enter image description here

很抱歉,如果這不是回答你具體的追問,但我沒有任何樣品數據工作,所以我採取了?barplot的例子。

+0

差不多。 y = 5以下的條形碼是錯誤的;他們應該從y = 5開始,前兩個開始下降到〜3等。 – user1202664 2012-04-07 21:17:52

+0

@ user1202664,同樣,當我沒有一些樣本數據來準確理解您要查找的內容時,對我來說很難。條的位置必須完成數據的結構。試試'barplot((tN-7),space = 1.5,axisnames = FALSE)'來查看data_的結構。 – 2012-04-07 21:57:06