【发布时间】:2021-04-09 07:41:22
【问题描述】:
我使用了两个输入数组和一个输出数组,我用 numpy 的 LinearNDInterpolator 和 scipy 的 ndimage 过滤器进行了插值。我能够使用 matplotlib 的 pcolormesh 轻松可视化输出。我想使用相同的 ndimage 和插值函数将此分析扩展到 3 个输入数组,但不确定如何可视化数据。我对解决方案的最佳猜测是使用类似于How to make a 4d plot with matplotlib using arbitrary data 的解决方案分散数据 但需要更多步骤,因为我的输出是一个网格。
这是骨架:
from scipy.interpolate import LinearNDInterpolator
dat_A = np.sin(np.arange(200))
dat_B = np.cos(np.arange(200))
dat_C = np.sinh(np.arange(200)/200)
output = dat_A + dat_B - 2*dat_C
A,B,C = np.arange(200),np.arange(200),np.linspace(0,2,200)
A_grid,B_grid,C_grid = np.meshgrid(A,B,C)
interp = LinearNDInterpolator(list(zip(dat_A,dat_B,dat_C)),output)
4D_out = interp(A_grid,B_grid,C_grid)
如何可视化这个 4D 对象?我正在考虑通过 3D 情节制作动画。
【问题讨论】:
-
请先阅读stackoverflow.com/help/how-to-ask。你能否提供更多关于你已经拥有的东西以及你想要什么的信息。一些更具体的数据可以使用......您尝试可视化的数据类型......等等......在不了解要绘制的数据的情况下很难建议一种方法。
标签: python numpy matplotlib image-processing visualization