Seaborn:修改countplot图表的X轴标签顺序
调整Seaborn Countplot的X轴标签顺序
我运行了以下代码:
sns.countplot(x=df["EDAD"] , hue=df["SEXO"])
生成的图表X轴标签未按预期顺序排列,希望X轴标签按照以下顺序展示:
- 18-30岁
- 31-45岁
- 46-65岁
- 66岁及以上
解决方案
方法1:将列转为有序分类(永久固定数据集顺序)
把EDAD列设置为有序分类类型,让Seaborn严格遵循指定顺序渲染图表:
import pandas as pd import seaborn as sns # 定义目标顺序 edad_order = ["18-30岁", "31-45岁", "46-65岁", "66岁及以上"] # 转换为有序分类 df["EDAD"] = pd.Categorical(df["EDAD"], categories=edad_order, ordered=True) # 重新绘制图表 sns.countplot(x=df["EDAD"], hue=df["SEXO"])
方法2:调用countplot时指定order参数(临时调整)
无需修改原数据集,直接在绘图时指定X轴标签顺序,适合临时需求:
edad_order = ["18-30岁", "31-45岁", "46-65岁", "66岁及以上"] sns.countplot(x=df["EDAD"], hue=df["SEXO"], order=edad_order)
如果原始标签是西班牙文(18-30 años等),只需将edad_order内的内容替换为对应的西班牙文即可。
内容的提问来源于stack exchange,提问作者gamma_kn1fe
相关产品推荐
相关产品推荐

