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
我想增加 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