首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在新的set_aspect和clim中使用imshow?

如何在新的set_aspect和clim中使用imshow?
EN

Stack Overflow用户
提问于 2021-08-20 22:18:37
回答 1查看 39关注 0票数 0

我以前可以用来创建2d图

代码语言:javascript
复制
x=np.linspace(0,1,5)
y=np.linspace(1,100,5)
img=np.ones([len(x),len(y)])*500
plt.imshow(img,extent=(x[0], x[-1], y[-1], y[0]))
plt.axes().set_aspect(0.06)
plt.clim(0,500)
plt.show()

现在,set aspect给了我一个空白图像(和这里一样:https://cloudstack.ninja/xotix/plt-axes-set_aspectequal-destroys-plot-by-adding-a-lot-of-white-space/)

如果我试着用斧头。绘图样式,我不能再使用plt.clim(0,500):

代码语言:javascript
复制
ax = fig.add_subplot(111)
ax.imshow(img,extent=(x[0], x[-1], y[-1], y[0]))
### ax.set_clim(0,500) # not a function
ax.set_xlabel('$t$ [ns]')
ax.set_ylabel('$\lambda$ [nm]')
ax.set_aspect(0.06)
ax.set_xlim(5,11)
ax.set_ylim(351,290)
fig.show()

这里有没有set_clim的替代品?我一直在找,但什么也找不到。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-08-21 12:31:52

在调用imshow时,您可以将clim作为kwarg,例如:

代码语言:javascript
复制
im = ax.imshow(img,extent=(x[0], x[-1], y[-1], y[0]), clim=(0, 500))

或者,如果您在一个变量中捕获由imshow返回的AxesImage (这里我称之为im),您可以稍后使用im.set_clim()在其上设置clim

代码语言:javascript
复制
im = ax.imshow(img,extent=(x[0], x[-1], y[-1], y[0]))
im.set_clim(0, 500)

而且,正如@Jody Klymak在评论中指出的,你的第一个选择不起作用的原因是因为plt.axes()创建了一个新的Axes实例。你可以就地使用plt.gca().set_aspect(0.06)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68868564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档