单堆叠柱状图Y轴线性刻度设置及X轴0刻度移除问题
解决方案
修改后的完整代码
import pandas as pd import matplotlib.pyplot as plt import numpy as np altitude = [1, 2, 3, 10, 20, 35, 60, 100] # 获取绘图轴对象,方便后续自定义配置 ax = pd.DataFrame(altitude).T.plot(kind='bar', stacked=True, color='lightgray', edgecolor="black", legend=False) # 设置Y轴线性刻度:范围0到最高海拔,间隔10km ax.set_ylim(0, altitude[-1]) ax.set_yticks(np.arange(0, altitude[-1]+1, 10)) # +1确保包含100这个刻度 # 移除X轴的0刻度 ax.set_xticks([]) plt.show()
关键操作说明
修复Y轴显示:
- 用
ax.set_ylim(0, altitude[-1])锁定Y轴范围,避免自动缩放导致的异常区间。 - 通过
np.arange()生成0到100、间隔为10的均匀刻度值,再用ax.set_yticks()应用到Y轴,保证刻度线性分布。
- 用
移除X轴0刻度:
原代码中X轴仅存在一个默认索引类别(0),直接用ax.set_xticks([])清空X轴刻度,隐藏多余的0标记。
内容的提问来源于stack exchange,提问作者Dr. Paprika
相关产品推荐
相关产品推荐

