在 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 中更改颜色条的字体大小的主要内容,如果未能解决你的问题,请参考以下文章

更改一个堆叠条的字体颜色

Markdown修改字体颜色

如何在 Eclipse-PyDev 中更改控制台字体大小

更改 matplotlib 图例中各个标签的字体大小

VC/MFC怎么改变状态栏字体颜色和大小

Bootstrap 更改导航栏字体大小