R中的以下内容无法按预期工作:
Dummy <- c(0,1,2,3,4,5)
length(palette(rainbow(length(Dummy))))
[1] 8
length(palette(rainbow(length(Dummy))))
[1] 6
length(palette(rainbow(length(Dummy))))
[1] 6
为什么?
答案 0 :(得分:7)
当你使用带有参数的palette
时,它所做的主要是副作用:它会改变有效的调色板。它做的另一件事是它返回调用?palette
之前生效的调色板(来自palette(...)
):
值:
一个字符向量,提供 的调色板。这个 是不可见的&#39;除非省略参数。
因此,在您的情况下,第一次调用palette
时,{{1}}会返回默认调色板(长度为8)和将活动调色板设置为新的一个。下次调用它时,它会返回您之前设置的调色板。