使用数据框中的颜色作为seaborn点图的线条颜色

时间:2017-11-15 11:31:41

标签: python python-3.x pandas seaborn

我目前有一个很大的pandas数据框,其中包含的结构为:

Groups  variable  value  method  color

然后我使用 pointplot 创建多个lineplot,每行作为不同的颜色。最初我使用hue来对method值执行此操作,但是我最终必须创建一些这些数据框,每个数据框的方式都不同(因为我排序了)一种方法,然后将数据块作为数据帧的第一个条目,并为几种不同的方法执行此操作)。我希望每种方法只与一种颜色相关联,以便它与我制作的所有pointplots一致。因此,我创建了一个名为color的新列,它保存了我想要与该方法关联的RGB值。然而,当我尝试绘制这个时,我遇到了一些问题:

g = sns.pointplot(x="Groups",jitter=0.3,alpha=0.7,size=15,y="value", color=result1['color'],data=result1[result1['variable']=="Accuracy"])

这会导致 TypeError ,因为系列对象是可变的,因此无法进行哈希。有没有正确的方法呢?

1 个答案:

答案 0 :(得分:2)

如果要从Seaborn Docs

指定多种颜色,则需要使用调色板而不是颜色
g = sns.pointplot(x="Groups",jitter=0.3,alpha=0.7,size=15,y="value", palette=result1['color'],data=result1[result1['variable']=="Accuracy"])