我正在尝试绘制一些图(下面的代码),并使两个图之间的颜色保持一致。一个图形包含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"
)
答案 0 :(得分:0)
颜色不同,因为您为每个图提供了不同的颜色。更具体地说,因为mkt533_product
是subset
的{{1}},所以即使未保留该变量的所有内容,它也保留了每个变量的组织。所以
mkt533
和
mkt533$name
[1] Fitness-conscious youth Busy young families Need that extra push CrossFit
[5] YMCA At-home gym Yoga studio Taekwondo gym
8 Levels: At-home gym Busy young families CrossFit Fitness-conscious youth Need that extra push Taekwondo gym ... Yoga studio
具有不同的内容,但相同的8个级别。如果为每个图提供相同的颜色,则将在每个图中将相同的颜色映射到相同的级别
mkt533_product$name
[1] CrossFit YMCA At-home gym Yoga studio Taekwondo gym
8 Levels: At-home gym Busy young families CrossFit Fitness-conscious youth Need that extra push Taekwondo gym ... Yoga studio
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))
))