2014-02-24 59 views
1

我想要消耗條之間的刻度線,例如http://hante.home.xs4all.nl/plugwise_dagoverzicht_281009_2.jpg如何在R中的酒吧之間得到刻度線?

它更符合邏輯得到兩個日期,或兩個時間之間的消費...

不過,我不明白怎麼做,在任何人R.?

我有這樣一個例子表,稱爲數據:

 date nombre delta 
2014-02-01  0  0 
2014-02-08  120 120 
2014-02-15  205  85 
2014-02-22  280  75 
2014-02-29  350  70 

代碼我設法到目前爲止寫下的是:

data$date <- as.POSIXct(data$date, format = "%Y-%m-%d") 
data <- data[-2] 
barplot(height=data[,2], names=data[,1], las=2) 

但「滴答」是僅低於條......你可以在http://imgur.com/0WE7ouI上看到。

+4

也許沒有人會幫助,除非你提供更多的上下文:你用什麼代碼+數據創建你的條形圖?你是怎麼試圖創建這個軸的,它怎麼沒有工作? – joran

回答

1

您沒有提供任何代碼。你的數據如何表示?你如何繪製酒吧?

如果您正在使用包latticebarchart(..., horizontal=FALSE),您可以使用參數scales=list(x=list(at=seq_len(numBars+1) - 0.5, labels=yourLabels)))手動提供新軸座標標籤,其中numBars是x軸上的分箱數。見?barchart

如果您使用的是更原始barplot,可以繪製軸線自己的偏移:

mids <- barplot(x, axisnames=FALSE) 
axis(1, at = mids - (mids[2]-mids[1])/2, labels = yourLabels) 

無論哪種方式,很明顯,你可以不是改變偏移跡象向右移動,或添加這兩個外蜱爲numBins +1標籤。

編輯:隨着代碼+數據在您的編輯說:

mids <- barplot(height=data[,2], axisnames=FALSE) 
axis(1, at = mids - (mids[2]-mids[1])/2, labels = data[,1], las=2) 

或如寫它並添加一個結束日期:

mstep <- (mids[2] - mids[1])/2 
axis(1, at=c(mids[1] - mstep, mids + mstep), labels=c(data[,1], endDate), las=2) 
+0

非常感謝您的回答。先驗,我正在尋找一個基本的圖形,而不是一個萊迪思。但是,如果我必須改變,因爲我的請求不可行,否則我會這樣做......我稍後會測試你的答案,然後回到你身邊。 – user3341592

+0

沒問題。 'barplot'是基礎圖形。 – codeola

+0

這是一個類似的解決方案,你可能與barplot? – user3341592