Я пытаюсь составить пару графиков (см. Код ниже) и обеспечить согласованность цветов между двумя графиками. Один график содержит 8 точек данных, а другой - 5. Несмотря на использование практически идентичного кода для каждого из графиков, цвета не совпадают. Кто-нибудь знает, почему цвета не совпадают между двумя графиками?
Правильные цвета (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))
))
Неверно цвета (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))
))
Вот данные, которые я использую для этих графиков:
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)
)
И 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"
)