You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Matplotlib子图设置自定义Y轴刻度、轴标签及子标题

自定义Seaborn子图的Y轴刻度、标签与子标题

以下是修改后的完整代码,实现你需要的各项自定义设置:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats
import warnings

df = pd.DataFrame([[0.2,40,1], [0.4,50,6], [5,14,5],
                   [1,25,7], [9,23,4], [3,300,100]],
                  columns=['a1', 'a2', 'a3'])

fig, axes = plt.subplots(nrows=3, ncols=1,figsize=(18, 10), sharex=False)

# 第一个子图配置
sns.boxplot(ax=axes[0], data=df, y="a1")
axes[0].set_title('变量a1的箱线图')  # 添加子标题
axes[0].set_ylabel('a1数值')       # 设置Y轴标签
axes[0].set_ylim(0, 10)            # 自定义Y轴范围
axes[0].set_yticks([0, 2, 5, 10])  # 自定义Y轴刻度

# 第二个子图配置
sns.boxplot(ax=axes[1], data=df, y="a2")
axes[1].set_title('变量a2的箱线图')
axes[1].set_ylabel('a2数值')
axes[1].set_ylim(0, 320)
axes[1].set_yticks([0, 100, 200, 300])

# 第三个子图配置(按需求指定刻度)
sns.boxplot(ax=axes[2], data=df, y="a3")
axes[2].set_title('变量a3的箱线图')
axes[2].set_ylabel('a3数值')
axes[2].set_ylim(0, 100)           # 锁定Y轴范围
axes[2].set_yticks([0, 35, 60, 100])  # 设置指定的Y轴刻度

plt.tight_layout()  # 自动调整子图间距,避免标题、标签重叠
plt.show()

核心操作说明:

  • 添加子标题:调用子图对象的set_title()方法,传入自定义文本即可。
  • 设置/修改Y轴标签:使用set_ylabel()方法替换默认标签,若需清空标签可传入空字符串''。
  • 自定义Y轴刻度:通过set_yticks()传入刻度值列表,配合set_ylim()锁定轴范围,确保自定义刻度完整显示。

内容的提问来源于stack exchange,提问作者Death Metal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 04:45:41