在 Seaborn 的基于 FacetGrid 的線圖中,想更改標簽標題。這似乎是一件簡單的事情,但結果卻是一項艱巨的任務tips = sns.load_dataset("tips")g = sns.FacetGrid(tips, col= 'day', legend_out= True,)g.map(sns.lineplot, 'total_bill', 'tip', 'sex', 'time', ci = False) g.fig.legend()傳說標題“性”我想通過添加“標題”參數將標簽標題從“性別”更改為“性別”。但事實證明,成為現有標題之上的標題g.add_legend(title = 'Gender')圖例標題為“性別”,標題為“性別”我還嘗試訪問 fig.legend 來更改文本,但現在它顯示了多個圖例,可能是由于多方面的情節。l = g.fig.legend()l.texts[0].set_text('Gender')圖例標題“性別”,然而,有多個圖例我確信可能有一種“hacky”方式通過更改數據中的變量名稱來更改名稱,但我想知道是否有一種方法可以簡單地替換 Seabron FacetGrid 的圖例標題,或者,如果不可能,通過'fig.legend'添加標題,同時顯示單個相關圖例。非常感謝!
1 回答

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
為什么不將"sex"列的名稱替換為"Gender"?
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
tips.columns = [n if n != "sex" else "Gender" for n in tips.columns]
g = sns.FacetGrid(tips, col= 'day')
g.map(sns.lineplot, 'total_bill', 'tip', 'Gender', 'time',
ci = False)
g.add_legend()
plt.show()
添加回答
舉報
0/150
提交
取消