🏥 🏭 Working on the COVID-19 response in Canada? Plotly & the Canadian government can help you and your organization. Learn more and get in touch.

Colors not displaying correctly on a 3D scatterplot (R)

I am trying to make a couple of plots (code below) and to keep the colors consistent between the two graphs. One graph contains 8 data points and the other contains 5. Despite using almost identical code for each of the plots, the colors do not match up. Does anyone have any insight as to why the colors are not matching up between the two graphs?

Correct colors (https://plot.ly/~MKT533/3/#/):

p <- plot_ly(mkt533, x = ~onsitetrainers_x, y = ~lowprice_y, z = ~flexibleclasses_z, color = ~name, colors = c(’#AB1100’,’#00274C’,’#00B5AF’,’#00274C’,’#00274C’,’#72088E’,’#E9B000’,’#0050AC’)) %>%
add_markers() %>%
layout(scene = list(xaxis = list(title = ‘Professional guidance’, range=c(1,10)),
yaxis = list(title = ‘Value for money’, range=c(1,10)),
zaxis = list(title = ‘Time flexibility’, range=c(1,10))))

Wrong colors (https://plot.ly/~MKT533/1/#/):

mkt533_product <- subset(mkt533, type!=“Segment”)

product <- plot_ly(mkt533_product, x = ~onsitetrainers_x, y = ~lowprice_y, z = ~flexibleclasses_z, color = ~name, colors = c(’#AB1100’,’#00B5AF’,’#72088E’,’#E9B000’,’#0050AC’)) %>%
add_markers() %>%
layout(scene = list(xaxis = list(title = ‘Professional guidance’, range=c(1,10)),
yaxis = list(title = ‘Value for money’, range=c(1,10)),
zaxis = list(title = ‘Time flexibility’, range=c(1,10))))

Can you please share the relevant data.frames by e.g. using dput(mkt533).

Sorry about that. Here is mkt533

structure(list(onsitetrainers_x = c(1L, 3L, 10L, 9L, 2L, 1L,
7L, 10L), lowprice_y = c(10L, 3L, 3L, 2L, 7L, 7L, 3L, 1L), flexibleclasses_z = c(4L,
8L, 3L, 5L, 7L, 1L, 6L, 6L), name = structure(c(4L, 2L, 5L, 3L,
7L, 1L, 8L, 6L), .Label = c(“At-home gym”, “Busy young families”,
“CrossFit”, “Fitness-conscious youth”, “Need that extra push”,
“Taekwondo gym”, “YMCA”, “Yoga studio”), class = “factor”), type = structure(c(3L,
3L, 3L, 2L, 5L, 1L, 6L, 4L), .Label = c(“At-home gym”, “CrossFit”,
“Segment”, “Taekwondo gym”, “YMCA”, “Yoga studio”), class = “factor”),
size = c(0.55, 0.3, 0.15, 0.25, 0.25, 0.25, 0.25, 0.25)), class = “data.frame”, row.names = c(NA,
-8L))

And mkt533_product
structure(list(onsitetrainers_x = c(9L, 2L, 1L, 7L, 10L), lowprice_y = c(2L,
7L, 7L, 3L, 1L), flexibleclasses_z = c(5L, 7L, 1L, 6L, 6L), name = structure(c(3L,
7L, 1L, 8L, 6L), .Label = c(“At-home gym”, “Busy young families”,
“CrossFit”, “Fitness-conscious youth”, “Need that extra push”,
“Taekwondo gym”, “YMCA”, “Yoga studio”), class = “factor”), type = structure(c(2L,
5L, 1L, 6L, 4L), .Label = c(“At-home gym”, “CrossFit”, “Segment”,
“Taekwondo gym”, “YMCA”, “Yoga studio”), class = “factor”), size = c(0.25,
0.25, 0.25, 0.25, 0.25)), row.names = 4:8, class = “data.frame”)