plotly.R
plotly.R copied to clipboard
Continuous color causes error when x or y is factor
When I try to take color from numeric variable and one of the axes is factor, it raises error Error in Summary.factor(...) : ‘range’ not meaningful for factors:
data(mpg)
mpg$classF <- as.factor(mpg$class)
# error when x is factor AND color is numeric:
mpg %>%
plot_ly(x = ~classF, y = ~cyl, color = ~displ) %>%
add_markers()
# Error in Summary.factor(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, :
# ‘range’ not meaningful for factors
# works fine when x is character:
mpg %>%
plot_ly(x = ~class, y = ~cyl, color = ~displ) %>%
add_markers()
# also works fine if color is factor or character:
mpg %>%
plot_ly(x = ~classF, y = ~cyl, color = ~as.character(displ)) %>%
add_markers()
I had the same problem. Converting to a character is only a partial workaround since the order of the levels in an ordered factor is no longer preserved. The bug should be addressed via https://github.com/plotly/plotly.R/pull/2404