plot_ly中的colorscale =“Rainbow”不起作用

时间:2017-10-23 16:02:19

标签: r colors plotly

我正在尝试使用plot_ly包绘制3d表面。

x = c(1:10)
y = c(1:10)
z = matrix(runif(100),ncol = 10)
z_col = matrix(runif(100),ncol = 10)

plot_ly(x = ~x, y = ~y, z = ~z, surfacecolor =~ z_col, 
        type = "surface", colorscale = "Rainbow")

我希望颜色条的颜色如下: enter image description here

但是,这就是我得到的: enter image description here

有谁能告诉我如何显示这个问题?

1 个答案:

答案 0 :(得分:1)

来自documentation

  

colorscale(colorscale)
  设置色阶。色标必须是   包含将规范化值映射到rgb,rgba的数组的数组,   hex,hsl,hsv或命名颜色字符串。至少,映射为   需要最低(0)和最高(1)值。   例如,[[0, 'rgb(0,0,255)', [1, 'rgb(255,0,0)']]

您可以使用

定义自己的彩虹色标
colorscale = cbind(seq(0, 1, by=1/(length(z) - 1)), rainbow(length(z)))

给你

enter image description here