如何为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
相关产品推荐
相关产品推荐

