我有一個代碼在一個頁面上繪製了幾個堆積的條形圖。我指定了一個調色板,因此每個數據組在每個圖表中都與相同的顏色相關聯。我發現第一個圖表中的顏色不正確,但在所有後續圖表中都是正確的。如果我在同一個R會話中重新運行代碼,所有圖表都具有正確的顏色。但是,如果我退出R並運行代碼,則第一個圖表會再次出現錯誤的顏色。第一次執行代碼時顏色不正確
我的代碼非常複雜,所以我放在一起說明問題的簡單示例。同樣,在開始新的R會話後第一次運行代碼時,顏色不正確。如果代碼在同一個R會話中重新運行,則它們是正確的。
# Data vector for bar plot,
#
dvec <- c( 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1.73, 0, 0, 0, 0, 0,
4.81, 0, 0, 0.03, 0.03, 0,
2.77, 0, 0, 0.42, 1.04, 0,
2.84, 0.02, 0, 2.25, 4.21, 0.02,
1.32, 0.54, 0.01, 3.44, 10.49, 0.01,
0.13, 1.63, 0.02, 4.42, 17.70, 0.03,
0.08, 2.49, 0.03, 8.64, 31.07, 0.02,
0, 3.08, 0.05, 9.04, 50.22, 0.01)
# matrix to pass to barplot, 12 columns, 6 rows
smat <- matrix(dvec,nrow=6)
# use this color palette and plot the barchart
zoopal <- palette(c("magenta","red","darkred","yellow","cyan","blue"))
barplot(smat,space=0,col=zoopal,axes=FALSE,axisnames=FALSE,
xaxs="i",yaxs="i",ann=FALSE)
當我再次運行該代碼,我得到這個用正確的顏色:
我不明白爲什麼會發生這種情況。就好像我指定的調色板在代碼運行的第一次沒有被使用。我應該注意到,儘管我在MacOSX 10.8.5下使用R 3.2.1版開發了R代碼,但是當代碼在同事的Windows計算機上運行時,也會發生同樣的情況。任何人都可以解釋我做錯了什麼?謝謝。
謝謝。我錯過了調色板文檔。 – Fleetboat