在 matplotlib 中更改颜色条的字体大小
Posted
技术标签:
【中文标题】在 matplotlib 中更改颜色条的字体大小【英文标题】:Change fontsize of colorbars in matplotlib 【发布时间】:2017-03-04 05:45:57 【问题描述】:我在以下代码中调整颜色条上刻度的字体大小时遇到了困难。
fig = plt.figure(figsize=(10,6))
ax = fig.add_subplot(111)
im = ax.pcolor(np.ma.masked_invalid(np.roll(lon, -1100, axis=1)[:2100, :3500]),
np.ma.masked_invalid(np.roll(lat, -1100, axis=1)[:2100, :3500]),
np.ma.masked_invalid(np.roll(np.absolute(zeta_Mar), -1100, axis=1)[:2100, :3500]),
cmap='Reds', norm=colors.LogNorm(vmin=1e-6, vmax=1e-4))
ax.set_xlabel('Longitude', fontsize=14)
ax.set_xlabel('Latitude', fontsize=14)
cbar_axim = fig.add_axes([0.95, 0.15, 0.03, 0.7])
cbar = fig.colorbar(im, cax=cbar_axim, ticks=[1e-6, 1e-5, 1e-4])
cbar.set_ticklabels([r'$-10^-6$', r'$10^-5$', r'$10^-4$'])
cbar.set_label(r'$\zeta\ [s^-1]$', fontsize=16)
plt.show()
谁能告诉我包含 fontsize 参数的正确语法?
【问题讨论】:
【参考方案1】:如果你想增加字体大小,但有些数字因为太大而消失了,你可以这样做
cbar = plt.colorbar()
for t in cbar.ax.get_yticklabels():
t.set_fontsize(20)
【讨论】:
【参考方案2】:如果我使用@Yugi 的答案,我会得到乳胶错误。您还可以使用以下方法设置字体大小:
ticklabs = cbar.ax.get_yticklabels()
cbar.ax.set_yticklabels(ticklabs, fontsize=10)
【讨论】:
【参考方案3】:使用cbar.ax.tick_params(labelsize=10)
来自here 和here
【讨论】:
以上是关于在 matplotlib 中更改颜色条的字体大小的主要内容,如果未能解决你的问题,请参考以下文章