2017-06-15 48 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()即可。