我几乎没有使用python的经验,但我正在尝试创建一个简单的脚本来加载图像并使用滑块小部件来调整颜色条的最小值和最大值,并相应地重新绘制图像数据.
我试图遵循这个例子:http://matplotlib.sourceforge.net/examples/widgets/slider_demo.html.我试图将plot命令更改为imshow,并使用滑块值设置我的图像的爬升.但是,我从调用'im1,= ax.imshow'(在下面的代码的第12行)中收到以下错误消息:
'AxesImage'对象不可迭代
我不明白这个调用是做什么的,但显然它不能与imshow()一起使用.如果我删除该调用中的逗号,则不会出现错误,但更改滑块时图像不会更新.有没有人有替代解决方案,或解释为什么这不起作用?任何帮助将不胜感激,谢谢.
我的代码如下:
from pylab import *
from matplotlib.widgets import Slider, Button, RadioButtons
import matplotlib.pyplot as plt
import numpy as np
close('all')
ax = subplot(111)
subplots_adjust(left=0.25, bottom=0.25)
min0 = 0
max0 = 25000
im=np.loadtxt('im.txt')
im1,=ax.imshow(im)
colorbar()
axcolor = 'lightgoldenrodyellow'
axmin = axes([0.25, 0.1, 0.65, 0.03], axisbg=axcolor)
axmax = axes([0.25, 0.15, 0.65, 0.03], axisbg=axcolor)
smin = Slider(axmin, 'Min', 0, 30000, valinit=min0)
smax = Slider(axmax, 'Max', 0, 30000, valinit=max0)
def update(val):
im1.set_clim=(smin.val,smax.val)
draw()
smin.on_changed(update)
smax.on_changed(update) …Run Code Online (Sandbox Code Playgroud)