0
私はPythonで同じ画像に2つのスペースカーブを描きたいと思います。Pythonで複数の3D曲線画像を描画するにはどうすればよいですか?
したがって、2つのAxes3D.plotを使用して曲線を描画します。しかし、結果の画像には最後の画像しか表示されません。 Axes3D.scatterを使用すると、すべての点を表示できます。
はここに私のコードです:あなたのイメージで
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
import math as mt
from mpl_toolkits.mplot3d import Axes3D
t=2 #t can be changed
fig = plt.figure()
ax=Axes3D(fig)
#data
def unitilize(x,y,z):
r=mt.sqrt(x**2+y**2+z**2)
return x/r, y/r, z/r
def g_1(x,y,z):
x=t*x
z=z/t
x,y,z=unitilize(x,y,z)
return x,y,z
stepCnt=10000 ######step
#########data#################
xs = np.empty((stepCnt + 1,))
ys = np.empty((stepCnt + 1,))
zs = np.empty((stepCnt + 1,))
#Setting initial values
def huatu(x,y,z):
xs[0], ys[0], zs[0] =unitilize(x,y,z)
for i in range(stepCnt):
xs[i+1],ys[i+1],zs[i+1]=g_1(xs[i], ys[i], zs[i])
return xs,ys,zs
xs3,ys3,zs3=huatu(1,10,40)
ax.plot(xs3, ys3, zs3, color='b', marker='x')
xs2,ys2,zs2=huatu(1,0,40)
ax.plot(xs2, ys2, zs2, color='r', marker='o')
これはコメントである必要があります。 – dawg
コメントをするのに十分な担当者がいません。 – ahota
ありがとう!私は解決策を見つけました。私は 'xs = np.empty((stepCnt + 1、))'を関数 'huatu'に入れて、xs2とxs3が異なるデータを持つようにする必要があります。しかし、私はこれがどのように起こるのではありません! –