更改海生刻面网格中的图例顺序和颜色



我正在使用seaborn facetgrid与线图结合使用来生成:

有没有办法将图例顺序从平均、良好、差更改为差、平均、好,并将红色分配给差,将绿色分配给好?

您可以将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}")
)

在 Quang Hoang 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}")
)

最新更新