You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Matplotlib的subfigure(非subplot)添加颜色条?

给Matplotlib的Subfigure添加颜色条的正确方法

问题原因

你遇到的错误为:AttributeError:'numpy.ndarray'对象没有'get_array'属性,原因是colorbar()方法需要接收图像对象(即imshow()的返回值),而不是直接传入numpy数组,直接传数组会触发上述属性错误。

修正后的代码

from matplotlib import pyplot as plt
import numpy as np

a = np.array([np.random.randint(-2,5,10) for x in range(0,5)])

fig = plt.figure(figsize=(10,10))
subfigs = fig.subfigures(2,1, wspace=0.1)

axsTop = subfigs[0].subplots(1,1)
axsBot = subfigs[1].subplots(1,4)
# 保存imshow返回的图像对象,它包含颜色映射的关键信息
im = axsTop.imshow(a)
# 将图像对象传给colorbar,并指定对应的坐标轴
subfigs[0].colorbar(im, ax=axsTop)

plt.show()
plt.close()

关键说明

  • 调用imshow()时必须保存返回的AxesImage对象,这是colorbar()方法的正确参数类型。
  • 通过subfigs[索引].colorbar()调用时,指定ax参数绑定对应的子图坐标轴,能确保颜色条与目标子图正确关联。

内容的提问来源于stack exchange,提问作者kbares

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:52:18