Repository navigation
ColorScale Will Not Change If Specifying with colorscale = c('hexcode1', 'hexcode2') #1846
Copy link
Copy link
Open
Description
Activity
Hi @cpsievert,
I'm wondering if there's been any progress on ensuring thecolorscaleargument toplot_lyand/oradd_markers/traceis passed through to the plotly.js library?Another reprex:
plotly::plot_ly(mtcars, x = ~ wt, y = ~ hp) |> plotly::add_markers(color = ~ mpg, marker = list(colorscale = c("black", "red")))
Formatted differently, it appears to apply the color gradient to the markers, but the colorbar doesn't update:
plotly::plot_ly(mtcars, x = ~ wt, y = ~ hp) |> plotly::add_markers(color = ~ mpg, marker = list(colorscale = list(c(0,1), c("black", "red"))))
Using an array:
plotly::plot_ly(mtcars, x = ~ wt, y = ~ hp) |> plotly::add_markers(color = ~ mpg, marker = list(colorscale = list( c(0, 0.2, 0.4, 0.6, 0.8, 1), c( "#FFB7B2", "#EA9C95", "#D68279", "#C2675C", "#AE4D40", "#9A3324" ) )))
- It looks like the color spectrum is reversed, with the 1 (100th) percentile, corresponding to the lightest color rather than the darkest color.
- The colorbar does not update to reflect the values of the colorscale
Are these issues in the plotly R library or in plotly js?
I think the issue may be that
markeris the incorrect container for the color specs? Also,colorsis not the same ascolorscale.Try this:
library(dplyr) library(plotly) fig <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, color = ~ mpg, colors = c('#132B43', '#56B1F7')) 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 )) figIMHO the real issue is the incorrect example at https://plotly.com/r/3d-scatter-plots/#3d-scatter-plot-with-color-scaling
It should be:
library(plotly) fig <- plot_ly(mtcars, x = ~wt, y = ~hp, z = ~qsec, color = ~mpg, colors = c('#FFE1A1', '#683531')) 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- added a commit that references this issue
on Dec 26, 2024
Metadata
Metadata
Assignees
Labels
No labels




Hi,
After following the guide here, https://plotly.com/r/3d-scatter-plots/, I found that, when specifying color scale with colorscale = c('hexcode1', 'hexcode2') will not have changes to the color scale, yet the default palette names such as 'Rainbow' will work. In this case, it would not be possible to self-define the 2 end points of the color scale. Please feel free to run the R codes below to see what I mean.
Just wondering if this is a bug or may be there needs some updates to the guide?
Thanks,