python - 如何在 Python 中进行实时 3D 绘图

标签 python matplotlib 3d

这是我的数组-:

实际上是从循环中一个一个的过来

我刚收集了3个放在这里,就是numpy数组。

我想做 plotting like this

我想在同一平面上绘制每个 [x,y,z]

here is the link of kind of same question but it did not help

这是我的数组,尝试通过循环绘制它

我不想每次都创建 3D 计划

提前致谢

[[[-3.7346181e-06 -3.1257220e-04  2.3624572e-05]
  [-1.8270965e-01 -1.9664496e-02 -2.4568141e-02]
  [-5.1518667e-01 -1.3219842e-01 -9.3250133e-02]
  [-6.4856362e-01 -2.1495605e-01  3.9285976e-01]
  [ 1.8270889e-01  1.9617405e-02  2.4641553e-02]
  [ 3.9771706e-01 -1.1204291e-01 -5.8607131e-02]
  [ 3.6946571e-01 -2.2695571e-01  4.6232837e-01]
  [ 8.5611023e-02 -1.2644671e-02 -3.5036582e-01]
  [ 1.3635550e-01  5.2643344e-02 -7.1496451e-01]
  [ 1.8607274e-01 -1.2201009e-01 -8.6325580e-01]
  [ 1.7147079e-01 -1.2234911e-01 -7.1370012e-01]
  [ 3.2113862e-01  7.7752903e-02 -6.3317382e-01]
  [ 2.3124713e-01  1.3558227e-01 -6.4422649e-01]
  [ 2.2836849e-01  1.0909287e-01 -7.2661340e-01]
  [-9.0970740e-02  5.7883307e-02 -6.6334200e-01]
  [-4.4122726e-01  6.3316643e-02 -7.2553694e-01]
  [-3.9037937e-01  2.2318088e-01 -8.1665212e-01]]]
[[[-1.32776477e-05 -2.97636725e-04  2.07653720e-05]
  [-1.68503642e-01  3.80588695e-04 -9.51068290e-03]
  [-4.42689836e-01 -1.15498923e-01 -2.68602669e-02]
  [-5.35742640e-01 -1.85905486e-01  4.60541725e-01]
  [ 1.68502390e-01 -4.27531078e-04  9.57961846e-03]
  [ 2.83172369e-01 -1.05357058e-01 -5.61783835e-02]
  [ 2.59259105e-01 -2.00630039e-01  4.48426425e-01]
  [ 3.78718376e-02  4.71886247e-03 -3.37765753e-01]
  [ 6.96768388e-02  5.93466610e-02 -6.99321628e-01]
  [ 1.48931056e-01 -1.05252340e-01 -8.41985703e-01]
  [ 1.16152301e-01 -1.15709454e-01 -6.85189247e-01]
  [ 2.30773821e-01  9.07361209e-02 -6.26397610e-01]
  [ 9.23667029e-02  2.23804459e-01 -6.05568826e-01]
  [ 1.61588803e-01  2.28583038e-01 -6.90727592e-01]
  [-1.31729320e-01  8.03924501e-02 -6.44603014e-01]
  [-3.65913302e-01  1.40294611e-01 -7.10297525e-01]
  [-2.16627806e-01  2.40194470e-01 -8.28336358e-01]]]
[[[-2.19513167e-05 -3.16318357e-04  2.70773580e-05]
  [-1.83729559e-01 -1.88755654e-02  3.92242987e-03]
  [-6.30268693e-01 -9.18525085e-02 -6.71465471e-02]
  [-7.46562421e-01 -1.81590259e-01  3.83828521e-01]
  [ 1.83727473e-01  1.88308004e-02 -3.84662580e-03]
  [ 2.59795696e-01 -8.64344314e-02 -1.28021538e-01]
  [ 3.55481476e-01 -2.24883348e-01  3.69557619e-01]
  [ 4.59439643e-02 -3.64996381e-02 -3.36623996e-01]
  [ 3.68975624e-02  1.97220743e-02 -7.02061892e-01]
  [ 6.98319748e-02 -1.30513906e-01 -8.74462485e-01]
  [ 2.34411024e-02 -1.52265698e-01 -7.35571742e-01]
  [ 2.38494694e-01  5.04430383e-02 -6.41864300e-01]
  [ 1.48135394e-01  1.30144447e-01 -7.28250265e-01]
  [ 2.49228701e-02  1.02922164e-01 -7.87323594e-01]
  [-1.83728695e-01  3.35978419e-02 -6.16014957e-01]
  [-5.12299538e-01  5.33500277e-02 -7.29221344e-01]
  [-4.05532420e-01  1.83315963e-01 -8.09123099e-01]]]
[[[ 5.50974801e-06 -3.28218332e-04  2.59917761e-05]
  [-1.91503197e-01 -1.14648398e-02  5.05512115e-03]
  [-5.49794495e-01 -1.06854029e-01 -8.42418224e-02]
  [-6.29268408e-01 -2.02463925e-01  4.09912437e-01]
  [ 1.91505283e-01  1.14187030e-02 -4.97415010e-03]
  [ 3.23183417e-01 -1.10180043e-01 -1.13089390e-01]
  [ 3.54678303e-01 -2.02096671e-01  3.71636897e-01]
  [ 4.84753847e-02 -8.79631937e-03 -3.45276684e-01]
  [ 7.61866719e-02  8.03767443e-02 -7.07699120e-01]
  [ 4.07396629e-02 -6.86248243e-02 -9.04964268e-01]
  [ 1.32909074e-01 -8.58621150e-02 -7.62888849e-01]
  [ 2.87238806e-01  1.04963884e-01 -6.40575528e-01]
  [ 2.66343057e-01  8.39773417e-02 -7.47035563e-01]
  [ 2.27702856e-01  1.79538485e-02 -8.42158377e-01]
  [-1.55427247e-01  8.40265751e-02 -6.31053209e-01]
  [-3.99664700e-01  1.00732595e-01 -7.04388440e-01]
  [-3.03526998e-01  2.35610425e-01 -8.10859442e-01]]]

最佳答案

所以我不确定您真正想要什么,但据我了解,您拥有这些数组并且您想将它们绘制成一个循环。

我不确定这是否是您要找的内容,但我希望它能对您有所帮助,如果您有任何疑问,我会更新我的答案。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

arr = [
    np.array(
        [
            [-3.7346181e-06, -3.1257220e-04,  2.3624572e-05],
            [-1.8270965e-01, -1.9664496e-02, -2.4568141e-02],
            [-5.1518667e-01, -1.3219842e-01, -9.3250133e-02],
            [-6.4856362e-01, -2.1495605e-01,  3.9285976e-01],
            [1.8270889e-01,  1.9617405e-02,  2.4641553e-02],
            [3.9771706e-01, -1.1204291e-01, -5.8607131e-02],
            [3.6946571e-01, -2.2695571e-01,  4.6232837e-01],
            [8.5611023e-02, -1.2644671e-02, -3.5036582e-01],
            [1.3635550e-01,  5.2643344e-02, -7.1496451e-01],
            [1.8607274e-01, -1.2201009e-01, -8.6325580e-01],
            [1.7147079e-01, -1.2234911e-01, -7.1370012e-01],
            [3.2113862e-01,  7.7752903e-02, -6.3317382e-01],
            [2.3124713e-01,  1.3558227e-01, -6.4422649e-01],
            [2.2836849e-01,  1.0909287e-01, -7.2661340e-01],
            [-9.0970740e-02,  5.7883307e-02, -6.6334200e-01],
            [-4.4122726e-01,  6.3316643e-02, -7.2553694e-01],
            [-3.9037937e-01,  2.2318088e-01, -8.1665212e-01]
        ]
    ),
    np.array(
        [
            [-1.32776477e-05, -2.97636725e-04,  2.07653720e-05],
            [-1.68503642e-01,  3.80588695e-04, -9.51068290e-03],
            [-4.42689836e-01, -1.15498923e-01, -2.68602669e-02],
            [-5.35742640e-01, -1.85905486e-01,  4.60541725e-01],
            [ 1.68502390e-01, -4.27531078e-04,  9.57961846e-03],
            [ 2.83172369e-01, -1.05357058e-01, -5.61783835e-02],
            [ 2.59259105e-01, -2.00630039e-01,  4.48426425e-01],
            [ 3.78718376e-02,  4.71886247e-03, -3.37765753e-01],
            [ 6.96768388e-02,  5.93466610e-02, -6.99321628e-01],
            [ 1.48931056e-01, -1.05252340e-01, -8.41985703e-01],
            [ 1.16152301e-01, -1.15709454e-01, -6.85189247e-01],
            [ 2.30773821e-01,  9.07361209e-02, -6.26397610e-01],
            [ 9.23667029e-02,  2.23804459e-01, -6.05568826e-01],
            [ 1.61588803e-01,  2.28583038e-01, -6.90727592e-01],
            [-1.31729320e-01,  8.03924501e-02, -6.44603014e-01],
            [-3.65913302e-01,  1.40294611e-01, -7.10297525e-01],
            [-2.16627806e-01,  2.40194470e-01, -8.28336358e-01]
        ]
    ),
    np.array(
        [
            [-2.19513167e-05, -3.16318357e-04,  2.70773580e-05],
            [-1.83729559e-01, -1.88755654e-02,  3.92242987e-03],
            [-6.30268693e-01, -9.18525085e-02, -6.71465471e-02],
            [-7.46562421e-01, -1.81590259e-01,  3.83828521e-01],
            [ 1.83727473e-01,  1.88308004e-02, -3.84662580e-03],
            [ 2.59795696e-01, -8.64344314e-02, -1.28021538e-01],
            [ 3.55481476e-01, -2.24883348e-01,  3.69557619e-01],
            [ 4.59439643e-02, -3.64996381e-02, -3.36623996e-01],
            [ 3.68975624e-02,  1.97220743e-02, -7.02061892e-01],
            [ 6.98319748e-02, -1.30513906e-01, -8.74462485e-01],
            [ 2.34411024e-02, -1.52265698e-01, -7.35571742e-01],
            [ 2.38494694e-01,  5.04430383e-02, -6.41864300e-01],
            [ 1.48135394e-01,  1.30144447e-01, -7.28250265e-01],
            [ 2.49228701e-02,  1.02922164e-01, -7.87323594e-01],
            [-1.83728695e-01,  3.35978419e-02, -6.16014957e-01],
            [-5.12299538e-01,  5.33500277e-02, -7.29221344e-01],
            [-4.05532420e-01,  1.83315963e-01, -8.09123099e-01]
        ]
    ),
    np.array(
        [
            [ 5.50974801e-06, -3.28218332e-04,  2.59917761e-05],
            [-1.91503197e-01, -1.14648398e-02,  5.05512115e-03],
            [-5.49794495e-01, -1.06854029e-01, -8.42418224e-02],
            [-6.29268408e-01, -2.02463925e-01,  4.09912437e-01],
            [ 1.91505283e-01,  1.14187030e-02, -4.97415010e-03],
            [ 3.23183417e-01, -1.10180043e-01, -1.13089390e-01],
            [ 3.54678303e-01, -2.02096671e-01,  3.71636897e-01],
            [ 4.84753847e-02, -8.79631937e-03, -3.45276684e-01],
            [ 7.61866719e-02,  8.03767443e-02, -7.07699120e-01],
            [ 4.07396629e-02, -6.86248243e-02, -9.04964268e-01],
            [ 1.32909074e-01, -8.58621150e-02, -7.62888849e-01],
            [ 2.87238806e-01,  1.04963884e-01, -6.40575528e-01],
            [ 2.66343057e-01,  8.39773417e-02, -7.47035563e-01],
            [ 2.27702856e-01,  1.79538485e-02, -8.42158377e-01],
            [-1.55427247e-01,  8.40265751e-02, -6.31053209e-01],
            [-3.99664700e-01,  1.00732595e-01, -7.04388440e-01],
            [-3.03526998e-01,  2.35610425e-01, -8.10859442e-01]
        ]
    )
]

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

while True:
    for a in arr:
        ax.plot(a[:, 0], a[:, 1], a[:, 2])
        plt.pause(0.5)
        ax.lines.pop()

关于python - 如何在 Python 中进行实时 3D 绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63040781/

相关文章:

python - pyparsing 空格匹配问题

python - 在 matplotlib 文本框中对齐 LaTeX 数学文本

3d - 如何制作用于寻路的导航网格?

c++ - 如何根据方向/幅度 vector 和碰撞三角形偏转方向/幅度 vector ?

algorithm - 射线盒相交理论

c++ - python 类定义与 C++ 类定义

python - 如何从不同的表条目 : Text vs. DIV 与 SPAN 中提取信息

python key 环,无法设置密码

python - 在 pandas df.plot 中设置颜色图限制

python matplotlib - 如何确保 x 轴值与源数据相同