繁体   English   中英

Python 中的 4D 密度 Plot

[英]4D Density Plot in Python

我正在寻找 plot 来自一些网格状数据的一些密度图:

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 生成如下所示的插值密度 plot。

Matplotlib 或其他此类 plot 的绘图套件中是否有任何解决方案?

需要明确的是,我不想要彩色点的散点图,这不适合我正在尝试制作的 plot。 我要一个3D插值密度plot,如下图。

4D 密度图

Plotly

Plotly 方法来自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()

交互输出截图

皮维斯塔

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

pyvista 可能需要的 3D 插值代码: 使用 numpy 和或 scipy 插值 3D 体积

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM