2017-06-15 56 views
1

似乎我無法在第一次嘗試時使用功能調色板(rainbow())更新顏色,但在第二次嘗試時成功。有更聰明的方法來更新顏色,而不是我的方式來調用該函數兩次?R:調色板(彩虹())沒有爲第一次嘗試更新

# call the function 
colRainbow = palette(rainbow(3)) 
colRainbow 
# [1] "red" "green" "blue" 
# success! 

# call the function, overwrite the object colRainbow 
colRainbow = palette(rainbow(5)) 
colRainbow 
# [1] "red" "green" "blue" 
# Fail! 

# Re-overwrite the object 
colRainbow = palette(rainbow(5)) 
colRainbow 
# [1] "red"  "#CCFF00" "#00FF66" "#0066FF" "#CC00FF" 
# success! 
+0

相關 - https://stackoverflow.com/questions/35734705/colors-incorrect-on-first-execution-of-code/35735749 – thelatemail

回答

1

palette的文件說,它返回:

一個特徵向量給調色板這實際上

所以看到

colRainbow = palette(rainbow(3)) 
colRainbow = palette(rainbow(5)) 
colRainbow 
# [1] "red" "green" "blue" 

是你應該做什麼? xpect,你會看到以前的調色板。在R中設置選項的函數通常以這種方式工作,因此您可以執行old_options = set_options(new_value),然後將舊值存儲爲稍後恢復。

要在每次更改後查看當前調色板,只需在沒有參數的情況下調用palette()即可。