如何修改matplotlib中pcolor绘图的colorbar刻度字体大小
调整plt.pcolor生成图表的colorbar刻度字体大小解决方案
原代码失效的核心原因是plt.pcolor()返回的是网格着色对象(QuadMesh),并非colorbar实例,对该对象调用ax属性操作的不是colorbar对应的坐标轴,因此修改不生效。
可行实现代码
方法1:pyplot接口写法
import matplotlib.pyplot as plt import numpy as np # 测试用示例数据 x = np.arange(10) y = np.arange(10) z = np.random.rand(9,9) # 注意pcolor要求z的维度比x、y小1 plt.figure(figsize=(8, 6), dpi=150) # 获取pcolor返回的可映射对象 pcm = plt.pcolor(x, y, z, cmap='jet') # 显式创建colorbar,绑定到上述可映射对象 cbar = plt.colorbar(pcm) # 直接修改colorbar刻度字体大小 cbar.ax.tick_params(labelsize=20) plt.show()
方法2:面向对象接口写法(更规范)
import matplotlib.pyplot as plt import numpy as np x = np.arange(10) y = np.arange(10) z = np.random.rand(9,9) fig, ax = plt.subplots(figsize=(8, 6), dpi=150) pcm = ax.pcolor(x, y, z, cmap='jet') cbar = fig.colorbar(pcm, ax=ax) # 可指定axis参数仅修改y轴刻度属性 cbar.ax.tick_params(axis='y', labelsize=20) plt.show()
扩展说明
如果需要同时调整colorbar刻度的其他属性,可直接在tick_params中传入对应参数:
- 调整刻度长度:添加
length=10参数 - 调整刻度颜色:添加
color='red'参数 - 调整刻度标签颜色:添加
labelcolor='blue'参数
内容的提问来源于stack exchange,提问作者Hyungjin Choi
相关产品推荐
相关产品推荐

