python使用曲面图和第4个变量的滑块可视化4d数据

时间:2016-06-03 17:52:37

标签: python matplotlib data-visualization

如何使用前3个变量的三维曲面图和第四个变量作为滑块可视化4d数据(从csv文件加载)?

1 个答案:

答案 0 :(得分:2)

我写了一个非常小的例子,突出了你实现这个目标的方式:

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函数。