更改Seaborn Facetgrid中的图例顺序和颜色

时间:2019-11-29 16:22:26

标签: python pandas seaborn

我正在将seaborn facetgrid与lineplot结合使用来生成:

enter image description here

是否可以将图例顺序从“平均”,“良好”,“不良”更改为“不良”,“平均”,“良好”,并将红色分配为“不良”,将绿色分配为“良好”?

2 个答案:

答案 0 :(得分:1)

您可以将hue_order传递给map

orders = ['Poor', 'Average', 'Good']

arg = ['val', 'date', 'Condition']

(sns.FacetGrid(df, col='Year', col_wrap=1, height=5)
    .map(sns.lineplot, *arg, hue_order=orders)
    .add_legend()
    .set_titles("{col_name}")
)

答案 1 :(得分:0)

Quang Hoang's Answer为基础,您还可以添加关键字pallete来控制颜色:

orders = ['Poor', 'Average', 'Good']
palette = {'Poor': 'red', 'Average': 'blue', 'Good': 'green'}

arg = ['val', 'date', 'Condition']

(sns.FacetGrid(df, col='Year', col_wrap=1, height=5)
    .map(sns.lineplot, *arg, hue_order=orders, palette=palette)
    .add_legend()
    .set_titles("{col_name}")
)