Python 如何修改seaborn小提琴情节图例

Python 如何修改seaborn小提琴情节图例,python,matplotlib,plot,seaborn,violin-plot,Python,Matplotlib,Plot,Seaborn,Violin Plot,我使用seaborn从bands数据帧(df10以下)创建了一个简单的小提琴图: 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()我只能

我使用seaborn从bands数据帧(
df10
以下)创建了一个简单的小提琴图:

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()
我只能隐藏所用列的名称(
'new\u col'

但是,我想知道是否有办法手动修改下面绘制的图例(文本、颜色和形状): 示例:

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)

我想你忘了你说了你想修改的内容(如果可能的话,答案显然是“是”)。颜色?短信?形状?你提到的所有形状。但最重要的是文本,所以我认为So答案的目的不是提供一个关于传说的完整教程;但幸运的是,matplotlib文档中有这样的内容。关于文本标签,设置
标签=[“label1”、“label2”]
就足够了,但这可能不是一个通用的解决方案。(一般情况下,需要在seaborn调用中预设
hue\u order
;或者只需根据需要在dataframe列中命名条目即可。)