Python中的4D密度图

2024-03-29 06:02:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望从一些网格状数据绘制一些密度图:

X,Y,Z = np.mgrids[-5:5:50j, -5:5:50j, -5:5:50j]
rho = np.random.rand(50,50,50) #for the sake of argument

我对使用Python从Mathematica here生成如下所示的插值密度图感兴趣

Matplotlib或其他绘图套件中是否有用于此类绘图的解决方案

说清楚一点,我不想要一个彩色点的散点图,这不适合我试图绘制的图。我想要一个三维插值密度图,如下所示

4D Density Plot


Tags: ofthe数据网格绘图fornp绘制
1条回答
网友
1楼 · 发布于 2024-03-29 06:02:27

阴谋地

来自https://plotly.com/python/3d-volume-plots/的绘图方法使用np.mgrid

import plotly.graph_objects as go
import numpy as np
X, Y, Z = np.mgrid[-8:8:40j, -8:8:40j, -8:8:40j]
values = np.sin(X*Y*Z) / (X*Y*Z)

fig = go.Figure(data=go.Volume(
    x=X.flatten(),
    y=Y.flatten(),
    z=Z.flatten(),
    value=values.flatten(),
    isomin=0.1,
    isomax=0.8,
    opacity=0.1, # needs to be small to see through all surfaces
    surface_count=17, # needs to be a large number for good volume rendering
    ))
fig.show()

screenshot of interactive output

皮维斯塔

体渲染示例: https://docs.pyvista.org/examples/02-plot/volume.html#sphx-glr-examples-02-plot-volume-py

pyvista可能需要的三维插值代码: interpolate 3D volume with numpy and or scipy

相关问题 更多 >