【发布时间】:2019-09-06 15:35:38
【问题描述】:
我正在尝试绘制我的散点图,每个散点都有按类别指定的颜色。
在我开始使用“split”(这行代码显示图例)之前它工作正常,并且应该通过描述将类别变量“拆分”成不同的类别。
这是一个可重现的例子:
# Load data
df_soccer <- data.frame("x" = 1:4,
"y" = 2:5,
"Name" = c("Manchester United", "FC Barcelona", "FC Porto", "Borussia Dortmund"),
"soc_color" = c("rgb(218, 2, 14)","rgb(167, 0, 66)", "rgb(0, 147, 51)", "rgb(0, 0, 0)"))
# Use plot_ly to plot it
df_soccer %>%
plot_ly() %>%
add_trace(.,
x = ~x,
y = ~y,
type = "scatter",
hoverinfo = "text",
text = paste(df_soccer$Name),
# split = df_soccer$Name,
mode = "markers",
marker = list(color = ~soc_color, size = 20))
如您所见,颜色混合在一起。 Borussia Dortmund 应该是黑色的,ManU 应该是红色的。这就是我想要的,只是缺少传说:
有没有人有一些建议可以通过按类别划分颜色并以正确的颜色绘制它们来获得正确的颜色?
提前非常感谢!
【问题讨论】:
-
这可能是因为
df_soccer$Name和df_soccer$soc_color是按字母顺序分配级别的因子...尝试str(df_soccer)并检查级别...