10

これは非常に簡単だと思いますが、インターネットと matplotlib ユーザーのメーリング リストを検索しましたが、答えが見つかりませんでした。ax2 は、図「fig」の「ax」軸内の挿入軸です。これは、http://matplotlib.sourceforge.net/examples/pylab_examples/axes_demo.html に従って作成します

しかし、今私の問題は、ax2 を希望の正確な位置に修正できないことです。draw() コマンドがこれを変更しているようです:

In [352]:
ax2.set_position([0.125,0.63,0.25,0.25])

In [353]:
ax2.get_position()

Out[353]:
Bbox(array([[ 0.125,  0.63 ],
       [ 0.375,  0.88 ]]))

In [354]:
draw()

In [355]:
ax2.get_position()

Out[355]:
Bbox(array([[ 0.15625,  0.63   ],
       [ 0.34375,  0.88   ]]))

「draw()」コマンドの後、ax2 の x0 が変更されたことに注意してください。誰でもヒントを与えることができますか?

ありがとう!

4

1 に答える 1

4

パラメータをBboxオブジェクトとして指定して、位置を設定してみてください。

>>> ax2.set_position(matplotlib.transforms.Bbox(array([[0.125,0.63],[0.25,0.25]])))
>>> ax2.get_position()
Bbox(array([[ 0.125,  0.63 ],
       [ 0.25 ,  0.25 ]]))
>>> draw()
>>> ax2.get_position()
Bbox(array([[ 0.125,  0.63 ],
       [ 0.25 ,  0.25 ]]))

これにより、設定が期待どおりに往復していることがわかります。

さらに、代わりに結果を次のtupleように見ることもできます。

>>> a.set_position([0.125,0.63,0.25,0.25])
>>> a.get_position().bounds
(0.125, 0.63, 0.25, 0.25)

場所/位置をバウンディングボックスとして見るか、または場所とサイズで見るかx0,y0によって異なります。x1,y1x,y,width,height

現在、あなたはそれを設定するように言っていx,y,width,heightます、そしてそれはあなたに言っていますx0,y0,x1,y1.

于 2012-10-17T21:11:44.213 に答える