我写了一个非常小的示例,重点介绍了实现此目标的方法:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider
nx = 100
ny = 100
nz = 100
data = np.random.rand(nx,ny,nz)
fig = plt.figure(1, figsize=(6,6))
main_ax = fig.add_axes([0.1,0.2,0.8,0.7])
slider_ax = fig.add_axes([0.1,0.1,0.8,0.05])
main_ax.imshow(data[:,:,0], aspect='auto')
my_slider = Slider(slider_ax, 'layer', 0, nz, valinit=0, valfmt='%d')
def update(val):
main_ax.imshow(data[:,:,int(val)], aspect='auto')
plt.draw()
my_slider.on_changed(update)
plt.show()
在前面的示例中,我基本上用随机数定义了 4D 数据集。然后,我定义了一个Slider
传递人们可能想要查看和使用的切片的索引imshow
做情节。回调方法on_changed
负责致电update
当滑块的值改变时函数。