0

私は python が初めてなので、この問題を克服するのを手伝ってください。

いくつかのランダムな点を使用して 3D グラフをプロットしました。プロットした後、グラフを取得しましたが、目的のグラフを取得するには、Y 軸を逆にする必要があります。使ってやった

gg.scatter(Ys1,Xs1,Zs1)

gg = plt.gca()

del Ys1[:],Xs1[:],Zs1[:]

gg.set_xlabel(' Y Label')
gg.set_ylabel(' X Label')
gg.set_zlabel(' Z Label')

plt.gca()invert_yaxis()

グラフが逆になっていますが、残念ながらプロットに軸範囲が表示されません。逆にしないと、それらが表示されます。

軸範囲を表示するにはどうすればよいですか。

評判が 10 を超えていないため、グラフを投稿できません。

これで解決できれば幸いです。ありがとうございました。

4

1 に答える 1

1

Ram は、より良い応答を得るのに役立つので、上記のコメントを検討してください。私はあなたのコードを解釈し、実用的な解決策を提供しようとしました.

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

# Create data so anyone can run the script
n = 1000

Xs1 = np.random.randint(0,3,n)
Ys1 = np.linspace(0,10,n)
Zs1 = np.exp(Ys1)


# This needs to be BEFORE gg.scatter otherwise it is nonsense
gg = plt.gca(projection="3d")

# This is how I would invert a list
Ys1_inverted = [Ys1[n-1-i] for i in range(n)]

# One can plot either Ys1 or Ys1 inverted here (see images below)
gg.scatter(Xs1,Ys1,Zs1)

gg.set_xlabel(' Y Label')
gg.set_ylabel(' X Label')
gg.set_zlabel(' Z Label')

plt.show()

コマンドで2 つの異なるリストを使用するYs1と、次のイメージが得られます。Ys1_invertedplot

Ys1 データの使用

Ys1_inverted Ys1_反転データの使用

このメソッドは、すべての軸の正しい範囲を表示します。

于 2013-05-24T08:04:53.007 に答える