首页 > 解决方案 > 来自熊猫数据框的python meshgrid 值

问题描述

解决了

我有一个像这样的熊猫数据框

       X    Y       Z      Vx           Vy              Vz
0   -17.5   10.0   2.5     0.037132     -4.021866e-02   -0.002117
1   -17.5   12.5   0.0     0.021691     -3.838874e-02   -0.000651
3   -17.5   0.0    12.5    0.063864     7.724853e-07    -0.023265
7   -17.5   2.5    2.5     0.072648     -1.244435e-02   -0.002749
16  -17.5   5.0    0.0     0.064299     -2.709658e-02   -0.000972

我想绘制一个 3D 箭袋图,其中 X、Y、Z 是笛卡尔坐标,Vx、Vy、Vz 是我的矢量场的分量。我以这种方式为 x,y,z 制作了网格

x,y,z = np.meshgrid(dataPM[dataPM.columns[0]],dataPM[dataPM.columns[1]],dataPM[dataPM.columns[2]])

但我正在努力为 Vx、Vy、Vz 创建相应的网格网格。

任何想法?

非常感谢你的帮助。

标签: pythonpandasmatplotlibmesh

解决方案


解决方案

事实证明,如果你已经有一个带有所有 x、y、z、Vx、Vy、Vz 值的 pandas DataFrame,你可以将它们传递给箭袋,这是我的错,但像往常一样,你尝试的越多,你学到的越多。

所以最终的代码是:

from mpl_toolkits.mplot3d import axes3d
fig = plt.figure(figsize=(16,9))
ax = fig.gca(projection='3d')
ax.quiver(dataPM[dataPM.columns[0]], dataPM[dataPM.columns[1]], dataPM[dataPM.columns[2]],dataPM[dataPM.columns[3]],dataPM[dataPM.columns[4]],dataPM[dataPM.columns[5]])
plt.show()

然后如果你想让它变得更好,你可以玩颜色等等。

谢谢大家


推荐阅读