2017-07-29 52 views
0

我試圖使相當大的數據庫的箱線圖來說明每一年的一天,溫度範圍(氣候變化):選擇x軸標籤的頻率箱線圖[R

boxplot(Datasubset$Temp~Datasubset$Day,las=2,data=Datasubset,main="Weather Variability",xlab=names(Datasubset)[1],ylab=names(Datasubset)[3]) 

的Datasubset數據幀看起來像這樣:

Day Hour Temp 
1/1/2015 1 3 
2/1/2015 2 4 
[...] [...] [...] 
31/12/2015 8760 2 

但是,我的x軸顯示太多的值,這意味着它們重疊並變得不可讀。是否可以調節x軸標籤的頻率?例如,每10或20天只顯示一個標籤?

此外,我的xlab和ylab命令似乎有點人爲。是否可以以更自然的方式引用數據框中的列名?

這些可能是簡單的事情,但我似乎無法找到答案在boxplot。

預先感謝您。

+0

至於軸,請參見功能'staxlab',軟件包'plotrix'。 –

+0

如果您使用'data'參數,則不需要重複公式中的data.frame名稱。即使用'boxplot(Temp〜Day,data = Datasubset,...)' –

回答

1

您可以通過抑制x軸然後創建自己的自定義軸來完成此操作。例如,

# Create example data similar to what you described: 
Datasubset <- data.frame(Day=as.Date(16436:16800, origin='1970-01-01'), 
         Temp=sample(1:10, 365, replace=TRUE)) 
# Make the boxplot, without x-axis ticks by specifying xaxt='n': 
boxplot(Temp ~ Day, data=Datasubset, las=2, main="Weather Variability", 
     xlab='Day', ylab='Temp', xaxt='n') 
# Make a vector of values to draw ticks at: 
ticks <- seq(from=1, to=365, by=90) 
# And draw the axis: 
axis(1, las=1, at=ticks, labels=Datasubset$Day[ticks]) 

創建以下情節:

Weather Variability Plot

欲瞭解更多信息,請參見par幫助頁面(特別是xaxt選項)和axis通過執行help('par')help('axis')

+0

這是完美的,非常有幫助,非常感謝! – panajach