如何配置柱密度图轴刻度:白刻度线/网格+黑数字+隔行大刻度
Matplotlib 轴样式定制解决方案
1. 分离刻度线、刻度数字与网格颜色
使用ax.tick_params()可以分别控制刻度线和刻度数字的颜色,网格颜色单独通过ax.grid()设置:
import matplotlib.pyplot as plt import numpy as np # 生成示例数据 x = np.linspace(0, 10, 100) y = np.sin(x) fig, ax = plt.subplots(facecolor='#f0f0f0') # 设置背景色方便观察白色刻度/网格 ax.plot(x, y) # 刻度线设为白色,刻度数字保持黑色 ax.tick_params(axis='both', color='white', labelcolor='black') # 网格设为白色 ax.grid(color='white', linestyle='-') plt.show()
2. 实现隔一个刻度线更长的效果
通过获取刻度线对象,手动遍历设置不同的长度:
# 承接上面的代码,调整x轴刻度线长度 xticks = ax.get_xticklines() # 每隔一个刻度线(偶数索引)设置更长尺寸 for idx, tick in enumerate(xticks): # 注:get_xticklines()会返回轴两侧的刻度线,若只需要显示侧的刻度,可添加切片筛选,如xticks = ax.get_xticklines()[::2] if idx % 2 == 0: tick.set_markersize(8) else: tick.set_markersize(4) # y轴同理处理 yticks = ax.get_yticklines() for idx, tick in enumerate(yticks): if idx % 2 == 0: tick.set_markersize(8) else: tick.set_markersize(4) plt.show()
内容的提问来源于stack exchange,提问作者Teo Georgatos
相关产品推荐
相关产品推荐

