【发布时间】:2016-08-01 22:23:10
【问题描述】:
有没有办法在调用 Seaborn 的factorplot 时获取分配给每个组的颜色?例如。我可以在下面的图中获得"one" 的颜色吗?谢谢!
df = pd.DataFrame({
"name": ["one"]*4 + ["two"]*4 + ["three"]*4 + ["four"]*4 + ["five"]*4,
"value": np.random.randint(0, 10, 20),
"num": range(0, 4)*5
})
ax = sns.factorplot(x="num", y="value", hue="name", data=df, kind="point", legend_out=False)
legend = plt.legend(fontsize="x-large")
plt.show()
【问题讨论】:
-
与其尝试从图中获取颜色,不如指定您要绘制的颜色。
-
谢谢@mwaskom,我该怎么做呢?我可以说类似
{"one":"green", "two":"blue"}之类的话并将其传递给hue吗? -
是的,这是一种方式。
-
@mwaskom,我很抱歉,
hue似乎不希望有字典,你能在这里给我一根骨头吗?我在说hue={"one": "green", "two": "green", "three": "green", "four":"green", "five": "green"}时得到TypeError: unhashable type: 'dict' -
谢谢@mwaskom,传递给调色板作品。