Похоже, что страница документации, которую вы цитировали выше, устарела. Это пример заговора наличия причуд.
Из документации, Цветовая шкала: Цветовая шкала должна быть массивом, содержащим массивы, отображающие нормализованное значение в строку цвета rgb, rgba, hex, hsl, hsv или named. Как минимум, требуется сопоставление для самых низких (0) и самых высоких (1) значений. Например, [[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]
. Чтобы контролировать границы цветовой шкалы в цветовом пространстве, используйте cmin
и cmax
.
Чтобы перевести это в пригодный для использования R, посмотрите этот вопрос: R, Как изменить цвет сюжетной трехмерной поверхности?
Таким образом, для вашей проблемы выше здесь возможное решение:
plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec,
marker = list(color = ~mpg, colorscale = list(c(0, 1), c("yellow", "blue")), showscale = TRUE))
Другим вариантом является использование предопределенных палитр из ColorBrewer и других с этой строкой:
plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec,
marker = list(color = ~mpg, colorscale = "Greens", showscale = TRUE))
Доступны следующие варианты: Серые, YlGnBu, Зеленые, YlOrRd, Bluered, RdBu , Красные, Блюз, Пикни c, Радуга, Портленд, Джет, Горячий, Черное тело, Земля, Электри c, Виридис, Сивидис.