1

数字の代わりにAxes3Dの軸に文字列を追加するにはどうすればよいですか?

matplotlibを使い始めたところです。私はAxes3dDを使用して、彼らのWebサイト(http://matplotlib.sourceforge.net/examples/mplot3d/bars3d_demo.html)に示されている例と同様のプロットを行いました。最後のバージョン(matplotlib 0.99.1)を使用する必要があることに注意してください。そうしないと、軸が少し不安定になります。この例では、次のコードを使用しています。

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

fig = plt.figure()  
ax = Axes3D(fig)  
for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]):
    xs = np.arange(20)
    ys = np.random.rand(20)
    ax.bar(xs, ys, zs=z, zdir='y', color=c, alpha=0.8)

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

今私の問題に、私は軸の名前を私が望むものに変更することができません。数字の代わりに、ステープルに文字列名を付ける必要があります。これは、x次元とz次元(深さ)の2つの次元でのみ実行したいと思います。私はこのコマンドを使おうとしました:

ax.set_xticklabels('First staple',(0,0))

エラーメッセージは表示されませんが、それでも痛みはありません。誰かがこの質問に答えることができれば、私は最も喜んでいます!

4

2 に答える 2

2

あなたは実際に正しい道を進んでいます。ただし、文字列の代わりに、リストまたはタプルを set_xticklabels() に渡します。set_xticks() を使用して、ラベルの中心位置を調整することもできます。

get_xmajorticklabels() を使用するこの関数を見つけることもできます。レンダリングされた目盛りラベルを返します。したがって、その結果から値を調整することもできます。

于 2009-09-28T21:20:39.703 に答える
0

また、軸データを取得し、それを処理してレンダラーに戻すと、私にとってははるかに簡単であることがわかりました;)それ以外は、NerdyNickが言っていること

于 2009-09-28T22:43:30.237 に答える