调色板没有返回正确的长度?

时间:2017-04-24 11:35:38

标签: r

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

为什么?

1 个答案:

答案 0 :(得分:7)

当你使用带有参数的palette时,它所做的主要是副作用:它会改变有效的调色板。它做的另一件事是它返回调用?palette之前生效的调色板(来自palette(...)):

  

值:

     

一个字符向量,提供 的调色板。这个        是不可见的&#39;除非省略参数。

因此,在您的情况下,第一次调用palette时,{{1}}会返回默认调色板(长度为8)将活动调色板设置为新的一个。下次调用它时,它会返回您之前设置的调色板。