如何从Matplotlib中的图检索颜色条实例

如何从Matplotlib中的图检索颜色条实例,第1张

如何从Matplotlib中的图检索颜色实例

首先,我认为您在坐标轴(基本上是绘图),图形,标量可映射对象(在这种情况下为图像)和色条实例之间有点困惑。

figure
是,该地块是在窗口中。这是顶级容器。

每个数字通常具有一个或多个

axes
。这些是地块/子图。

彩条也在图中。添加颜色条会为要显示的颜色条创建一个新轴(除非您另行指定)。(通常无法在与图像相同的轴上显示它,因为颜色条需要有自己的x和y限制,等等。)

您之所以有些困惑,是因为您混用了状态机接口和OO接口。这样做很好,但是您需要了解OO接口。

fig.axes[1]
不是colorbar实例。它是绘制颜色条的轴。(也是,图中
fig.axes[1]
的第二条轴。它恰好是具有一个子图和一个颜色条的图形中的颜色条所在的轴,但通常不会案子。)

如果要更新颜色条,则需要保留

colorbar
返回的颜色条实例。

以下是您通常如何处理事情的示例:

import matplotlib.pyplot as pltimport numpy as npdata = np.random.random((10,10)) # Generate some random data to plotfig, ax = plt.subplots() # Create a figure with a single axes.im = ax.imshow(data)     # Display the image datacbar = fig.colorbar(im)  # Add a colorbar to the figure based on the image

如果你要使用

update_normal
更新彩条,预计一
ScalarMappable
(通过创建例如图像
imshow
,该集合
scatter
创建时,
ContourSet
contour
创建等)以进行传递。(还有其他的方法来做到这一点,以及。通常,您只想更新限制,而不是整个限制。)对于上述代码,您可以致电
cbar.update_normal(im)

但是,您尚未创建新的

AxesImage
,只是更改了它的数据。因此,您可能只想做:

cbar.set_clim(newimg.min(), newimg.max())


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674279.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存