python - 如何从 matplotlib 中的“ax”返回“ScalarMappable”?
问题描述
Figure.colorbar(mappable=...)
有一个参数来接受可着色的项目,例如AxesImage
,ContourSet
等。考虑到这一点,通常的用法如下:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
ax = plt.subplot()
im = ax.imshow(np.arange(100).reshape((10, 10)))
# create an axes on the right side of ax. The width of cax will be 5%
# of ax and the padding between cax and ax will be fixed at 0.05 inch.
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
plt.colorbar(im, cax=cax)
在上面的示例中,可映射im
对象由 . 返回imshow()
,在大多数情况下,我认为这很好。我的问题是我们如何ax
在实现ax.imshow()
orax.pcolormesh()
之后直接返回 mappable ,它应该如下所示。
ax.imshow(np.arange(100).reshape((10, 10)))
def get_mappable(ax):
pass
mappable = get_mappable(ax)
ax.images
不是我想要的,因为这只是一种类型的映射。
我回顾了一些源代码plt.colorbar()
,它使用gci()
(here),但我尝试并返回None
,我想我一定错过了一些重要的东西。请给我一些指导,非常感谢。
编辑:我在这里找到了答案,但它与方法非常相似ax.images
。
解决方案
推荐阅读
- ios - 无效的“Podfile”文件:套接字错误不支持操作
- django - 如何从 django-allauth 中经过身份验证的用户获取或创建凭据
- postgresql - 将 UUID 作为输入参数传递给触发函数 - Postgres 11.5
- docker - Jenkins sh 脚本在特定容器中运行时挂起
- node.js - 如何从 sequelize + node.js 中的多个模型中获取验证错误
- c# - 从 asp.net API 中的方法返回后,如何保持线程运行?
- c# - 如何避免填充所有对象属性 - 而是只填充需要的一个并保持原样 - C#
- c# - System.Configuration.ConnectionStringSettingsCollection.this[string].get 使用单元测试返回 null
- c - 关于execve参数的困惑
- javascript - javascript 简单的 assertEqual 测试运行结果