gpt4 book ai didi

python - 使用 matplotlib 进行连续 3d 绘图

转载 作者:太空宇宙 更新时间:2023-11-04 05:51:19 25 4
gpt4 key购买 nike

我正在从事一个需要使用 matplotlib 进行连续 3D 绘图的项目。整个项目很复杂,但我用这个简单的例子总结了问题:

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import time


count=0
fig = plt.figure()
ax = fig.gca(projection='3d')
z = [0]
x = [0]
y = [0]
plt.show()
while True:
count +=1
x.append(count)
x.append(count)
x.append(count)
ax.plot(x, y, z)
time.sleep(1)
plt.draw()

在此代码中,我尝试使用新的 x、y、z 值重新绘制 3D 线。但什么也没发生!

最佳答案

我不知道为什么它不能按照你编码的方式工作,但我可以让它像这样工作:

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import time
import numpy


count=0
fig = plt.figure()
ax = fig.gca(projection='3d')
z = [0]
x = [0]
y = [0]

plt.ion() ###

plt.show()
while True:
count +=1
x.append(count)
y.append(count**2) #
z.append(count**3) # just for eye-candy

ax.plot(numpy.array(x), ###
numpy.array(y), ###
numpy.array(z)) ###

time.sleep(1)
plt.draw()

ion 部分是有道理的,但是在这里必须将您的序列转换为数组,因为由于(显然)矩阵乘法对于简单序列是不可能的,所以我得到了一个错误:

(...)
File "C:\Python27\lib\site-packages\mpl_toolkits\mplot3d\proj3d.py", line 158, in proj_transform_vec
vecw = np.dot(M, vec)
TypeError: can't multiply sequence by non-int of type 'float'

关于python - 使用 matplotlib 进行连续 3d 绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com