问题描述
我正在尝试更改 Seaborn 上小提琴情节中的标签。我想更改 NU_NOTA_CN、NU_NOTA_CH、NU_NOTA_LC、NU_NOTA_MT 和 NU_NOTA_REDAÇÃO,和 TP_ESCOLA,以及 2 和 3。
import pandas as pd
import numpy as np
import seaborn as sns
fig_dims = (10,8)
fig,ax = plt.subplots(figsize=fig_dims)
sns.Boxplot(x="disCIPLINA",y="NOTA",hue="TP_ESCOLA",data=publica_privada_pivot)
plt.show()
plt.clf()
plt.close()
解决方法
您可以使用 set_xticklabels
f,ax = plt.subplots()
sns.boxplot(x="DISCIPLINA",y="NOTA",hue="TP_ESCOLA",data=publica_privada_pivot,ax=ax)
ax.set_xticklabels([...]) # list of strings
此外,您还可以使用 get_xticklabels
,例如。
xticklabels = [t.get_text() for t in ax.get_xticklabels()]
xticklabels = [t.replace('NU_','').replace('_',' ').title()
ax.set_xticklabels(xticklabels)
,
tips = sns.load_dataset("tips")
foo = sns.boxplot(x="day",y="total_bill",data=tips)
plt.xticks([0,1,2,3],['x1','x2','x3','x4'])
plt.show()
'day' 列中唯一值的数量(即特征的基数)应该是传递给 plt.xticks() 函数的列表的长度。