Pythonの:mplot3d、固体をグラフ化
-
25-09-2019 - |
質問
私は、革命の固体のワイヤーフレームをグラフ化しようとしています。私は球ここの例を以下だが、私はよ損失のビット。私はすべてのダウンを簡略化してきましたが、今でエラーに貼り付けています。私はまた、関数の引数で探していますにここを説明したが、私はしていない限り、何かを誤解、このコードは大丈夫でなければなりません。私は私がここに描画しようとしていることはラインとない形状であることを認識しますが、私はとにかくそれを描画するために、このメソッドを使用することはできませんなぜ私は理解していません。私は、実際の固体をグラフに進むことができますので、できるだけ簡単に、この例を取得しようとしています。ここでは、次のとおりです。
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plot
import numpy
import pylab
fig = plot.figure()
ax = Axes3D(fig)
n = numpy.linspace(0, 100)
x = n
y = x**2
z = 1
ax.plot_wireframe(x, y, z)
plot.show()
ここでエラーがあります:
Traceback (most recent call last):
File "test.py", line 14, in <module>
ax.plot_wireframe(x, y, z)
File "/usr/lib/pymodules/python2.6/mpl_toolkits/mplot3d/axes3d.py", line 687, in plot_wireframe
rows, cols = Z.shape
AttributeError: 'int' object has no attribute 'shape'
解決
matplotlibのは大文字でデータ引数を書き込むと
、その手段は、それがデータの行列を期待しています。あなたはmeshgrid
のために例を参照してください(mplot3d
機能を使用することができます>)グリッドを生成する。
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plot
import numpy
import pylab
fig = plot.figure()
ax = Axes3D(fig)
n = numpy.linspace(0, 100)
x = n
y = x**2
X, Y = numpy.meshgrid(x, y)
Z = numpy.ones_like( X )
ax.plot_wireframe(X, Y, Z)
メモ与えた例では、球用のメッシュポイントは外積を使用して構築されていること。
所属していません StackOverflow