我有以下列的數據:lot,sublot,size,data。我有多個地段,每個地段可以有多個子地段。每小批具有1至4在R中動態着色boxplot
我已經使用以下代碼創建該數據的箱線圖的大小(S):
df <-
readXL("Z:/R_Files/example.xlsx",
rownames=FALSE, header=TRUE, na="", sheet="Sheet1",
stringsAsFactors=TRUE)
x11()
par(mar=c(10.1, 5.1, 4.1, 2.1))
boxplot(data ~ size*sublot*lot,
xlab="", ylab="Data", main="Data by Size, Sublot, Lot",
las=2,
data=df)
title(xlab='Size.Sublot.Lot', line=9)
我想用boxfill命令着色基於所述各盒形圖很多#。我見過兩種解決方案:
- 創建一個向量並明確指定要使用的顏色,例如, colr = c(「紅色」,「紅色」,「紅色」,...「綠色」,「綠色」,「綠色」,...「藍色」)。這個解決方案的問題是它需要我先知道df中的批次數量和顏色需要重複的次數。
- 使用「ifelse」語句。這個解決方案的問題是(a)我需要知道批次的數量和(b)我需要創建多個嵌套的ifelse語句。
我寧願創建一個「動態」解決方案,它根據我在文件中的批次條目數創建顏色矢量。
我試圖創建:
uniqlot <- unique(df$lot)
colr <- palette(rainbow(length(uniqlot)))
但我堅持,因爲在COLR矢量項不重複進行的size.sublot.lot的獨特組合的數量。注意:我希望ABC批次的所有箱型圖都用一種顏色着色,批量DEF的所有箱型箱用另一種顏色着色等。
我附上了無色箱型圖的圖片。 Uncolored Boxplot
原始數據(example.xlsx)可以在下面的鏈接訪問: example.xlsx
它更容易幫助,如果你提供一個[重複的例子(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)與樣品輸入數據(這不是您的機器上的私人文件)。請參閱提供的鏈接,瞭解如何做到這一點的提示。 – MrFlick
非常感謝您的幫助和指點。我想知道如何放置xlsx文件。我已將它放在帶有可訪問鏈接的Google驅動器上。 – VikG