首页 > 解决方案 > 如何修改seaborn小提琴情节图例

问题描述

df10使用 seaborn 从乐队 DataFrame(如下)创建了一个简单的小提琴图:

fig, ax = plt.subplots(figsize=(10,4))
ax = sns.violinplot(x='z', y='z_fit', hue='new_col', data=df10, cut=0, palette='Blues', linewidth=1)
ax.set_xlabel('z_sim')
ax.legend()

使用参数值自动绘制图例hue。使用ax.legend()I 只能隐藏已使用列的名称 ( 'new_col')。

但是,我想知道是否有某种方法可以手动修改下面绘制的图例(文本、颜色和形状): 在此处输入图像描述

标签: pythonmatplotlibplotseabornviolin-plot

解决方案


例子:

import seaborn as sns
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="time", size=4, aspect=.75)
g = g.map(sns.violinplot, "sex", "total_bill", "smoker", palette={"No": "b", "Yes": "w"}, inner=None, linewidth=1, scale="area", split=True, width=0.75).despine(left=True)
g.fig.get_axes()[0].legend(title= 'smoker',loc='top left',labels=["YES","NO"],edgecolor='red',facecolor='blue',ncol=2)
g.set_axis_labels('lunch','total bill')

有关更多信息,请运行:

help(g.fig.get_axes()[0].legend)

推荐阅读