我对 Python 很陌生,所以如果这是一个愚蠢的初学者错误,请原谅。但是,我已经为此苦苦挣扎了一段时间。我想用 nxm 个子图创建一个图形,每个子图都是形状为 [1024,264,264] 的 np.array。当我正在寻找堆栈中沿 0 维发生的差异时,我想使用滑块同时探索我图中的所有堆栈。滑块实例适用于具有一个子图的图形,但我无法将它们全部用于工作。这就是我正在使用的代码:
import os
from matplotlib import pyplot as plt
import numpy as np
import glob
import h5py
#Define the xy size of the mapped array
xsize=3
ysize=3
lengthh5=9
readlist=[]
for i in range (0,lengthh5):
npraw=np.random.rand(200,50,50)
readlist.append (npraw)
''' Slider visualization'''
from matplotlib.widgets import Slider
fig=plt.figure()
for k in range (0,lengthh5):
ax=fig.add_subplot(xsize,ysize,k)
frame = 10
l = ax.imshow(readlist[k][frame,:,:])
plt.axis('off')
sframe = Slider(fig.add_subplot(50,1,50), 'Frame', 0, len(readlist[0])-1, valinit=0)
def update(val):
frame = np.around(sframe.val)
l.set_data(readlist[k][frame,:,:])
sframe.on_changed(update)
plt.show()
对于这种特殊情况,我将其剥离为一个 3x3 数组以用于我的图形,并创建随机(较小)数组。有趣的是,滑块只能在倒数第二个子图上操作。但是,我不知道如何将它同时链接到所有子图。也许有人知道如何做到这一点。非常感谢提前,
蒂尔曼