如何修改对数坐标轴上刻度标记的尺寸?
如何修改Matplotlib对数坐标轴的次要刻度标记尺寸
当然有办法搞定这个问题!你碰到的情况是因为plt.tick_params()默认只对主刻度(major ticks)生效,而对数坐标轴上那些介于1、10、100这类主刻度之间的辅助标记(比如2、3…20、30…)属于次要刻度(minor ticks),得明确指定要修改它们才行。
直接可用的修改代码
import numpy as np import matplotlib.pyplot as plt x = np.logspace(0, 2, 1000) y = np.exp(x) plt.loglog(x, y) # 一次性修改主刻度和次要刻度的尺寸 plt.tick_params(length=5, width=3, which='both') # 要是只想单独改次要刻度,可以这么写: # plt.tick_params(length=3, width=2, which='minor') plt.show()
关键参数解释
which是核心参数,用来指定要修改的刻度类型:'major':只修改主刻度(默认值,也就是你之前代码里生效的部分)'minor':只针对次要刻度生效'both':同时修改主、次两种刻度
- 你还可以给主、次刻度设置不同的样式,比如让主刻度更醒目,次要刻度低调一点,这样图表的层级会更清晰:
# 主刻度更长更粗 plt.tick_params(length=8, width=4, which='major') # 次要刻度尺寸稍小 plt.tick_params(length=4, width=2, which='minor')
这样调整后,对数坐标轴上的所有刻度标记尺寸就都能按照你的需求修改啦!
内容的提问来源于stack exchange,提问作者The One
相关产品推荐
相关产品推荐

