Rplotly:无法更改颜色渐变

The*_*kie 4 r shiny plotly

我使用plotly 在一个带有颜色渐变的闪亮应用程序中渲染3D 散点图。虽然基本散点图本身没有问题,但我似乎无法更改颜色渐变的颜色,即使对于此处提供的示例也是如此: https: //plotly.com/r/3d-scatter-plots/。(参见代码片段)。

我尝试了标准颜色和十六进制的多种颜色组合。

library(plotly)

fig <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec,
               marker = list(color = ~mpg, colorscale = c('#FFE1A1', '#683531'), showscale = TRUE))
fig <- fig %>% add_markers()
fig <- fig %>% layout(scene = list(xaxis = list(title = 'Weight'),
                                   yaxis = list(title = 'Gross horsepower'),
                                   zaxis = list(title = '1/4 mile time')),
                      annotations = list(
                        x = 1.13,
                        y = 1.05,
                        text = 'Miles/(US) gallon',
                        xref = 'paper',
                        yref = 'paper',
                        showarrow = FALSE
                        ))
fig


Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏。干杯

Dav*_*e2e 5

您上面引用的文档页面似乎已过时。这是情节有怪癖的一个例子。

从文档中,
Colorscale:colorscale 必须是一个数组,其中包含将标准化值映射到 rgb、rgba、hex、hsl、hsv 或命名颜色字符串的数组。至少需要最低 (0) 和最高 (1) 值的映射。例如,[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)'] ]。要控制色彩空间中色阶的范围,请使用cmincmax

要将其转换为可用的 R,请参阅以下问题:R, How to change color ofplotly 3d surface?

因此,对于您上面的问题,这里有一个可能的解决方案:

plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, 
        marker = list(color = ~mpg, colorscale = list(c(0, 1), c("yellow", "blue")), showscale = TRUE))
Run Code Online (Sandbox Code Playgroud)

另一个选择是使用 ColorBrewer 和其他人的预定义调色板:

plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, 
        marker = list(color = ~mpg, colorscale = "Greens", showscale = TRUE))
Run Code Online (Sandbox Code Playgroud)

可用选项有:灰色、YlGnBu、绿色、YlOrRd、蓝色红色、RdBu、红色、蓝色、野餐、彩虹、波特兰、喷射、热、黑体、地球、电力、Viridis、Cividis。