matplotlib:如何更改对数刻度的 yticklabel 大小?

matplotlib: how to change yticklabel size for log scale?

我想增加 yticklabels 的字体大小,还想让它们加粗。我正在为 Y 轴使用对数刻度。我只得到第一个大尺寸的 yticklabel,其他的都很小。以下是我的代码:

from matplotlib import pyplot as plt
import matplotlib.ticker

fig1, ax1 = plt.subplots(figsize=(10,6),dpi=100)
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_yscale('log')
ax1.get_yaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
ax1.tick_params(axis='y', labelsize=20)
plt.show()

请帮忙解决问题

这是一个奇怪的行为...

但是,仍然可以通过更改 ytick 配置来获得预期的结果,在代码的开头,使用以下行:

matplotlib.rc('ytick', labelsize=20)

您也可以更改标签的颜色:

matplotlib.rc('ytick', labelsize=20, labelcolor='red')

但是,字体粗细的变化将应用于两个轴,使用代码:

matplotlib.rc('font', weight='bold')

官方文档中列出了更多选项:

https://matplotlib.org/stable/gallery/misc/customize_rc.html

https://matplotlib.org/stable/api/matplotlib_configuration_api.html#matplotlib.rc

https://matplotlib.org/stable/api/matplotlib_configuration_api.html#matplotlib.rcParams