23

matplotlibプロットの原点を、デフォルトの左下ではなく左上隅に配置するにはどうすればよいですか?私はmatplotlib.pylab.plotを使用してプロットを作成しています(ただし、より柔軟な別のプロットルーチンがある場合は、お知らせください)。

matlabコマンドに相当するものを探しています:axis ij;

また、私はmatplotlibヘルプとグーグルをサーフィンするのに数時間を費やしましたが、答えを思いつきませんでした。答えを調べられた場所に関する情報も役立ちます。

4

5 に答える 5

30

最も簡単な方法は、次を使用することです。

plt.gca().invert_yaxis()

画像をプロットした後。Originのみで動作しimshowます。

于 2016-03-10T13:21:33.893 に答える
13

axis ijy軸を上向きではなく下向きに増加させるだけですよね?もしそうなら、それでmatplotlib.axes.invert_yaxis()十分かもしれませんが、今はテストできません。

それでもうまくいかない場合は、それを示唆するメーリング投稿を見つけました

setp(gca(), 'ylim', reversed(getp(gca(), 'ylim')))

あなたが似せたいことをするかもしれませんaxis ij

于 2009-08-29T01:27:29.733 に答える
10

イメージまたはコンター プロットの場合はキーワードorigin = None | 'lower' | 'upper'を使用でき、ライン プロットの場合は ylimits の上限から下限を設定できます。

from pylab import *
A = arange(25)/25.
A = A.reshape((5,5))

figure()
imshow(A, interpolation='nearest', origin='lower')

figure()
imshow(A, interpolation='nearest')

d = arange(5)
figure()
plot(d)
ylim(5, 0)

show()
于 2009-08-29T01:31:45.017 に答える
7

以下は、これを達成するための基本的な方法です

ax=pylab.gca()

ax.set_ylim(ax.get_ylim()[::-1])
于 2012-07-25T15:22:55.497 に答える
5

これ

plt.ylim(max(plt.ylim()), min(plt.ylim()))

これよりも利点があります

plt.gca().invert_yaxis()

また、インタラクティブ モードで同じプロットを繰り返しプロットする場合 (おそらく更新されたデータを使用し、プロットの後にブレークポイントがある場合)、y 軸が毎回反転し続けるわけではありません。

于 2016-10-07T17:37:27.880 に答える