matplotlibプロットの原点を、デフォルトの左下ではなく左上隅に配置するにはどうすればよいですか?私はmatplotlib.pylab.plotを使用してプロットを作成しています(ただし、より柔軟な別のプロットルーチンがある場合は、お知らせください)。
matlabコマンドに相当するものを探しています:axis ij;
また、私はmatplotlibヘルプとグーグルをサーフィンするのに数時間を費やしましたが、答えを思いつきませんでした。答えを調べられた場所に関する情報も役立ちます。
matplotlibプロットの原点を、デフォルトの左下ではなく左上隅に配置するにはどうすればよいですか?私はmatplotlib.pylab.plotを使用してプロットを作成しています(ただし、より柔軟な別のプロットルーチンがある場合は、お知らせください)。
matlabコマンドに相当するものを探しています:axis ij;
また、私はmatplotlibヘルプとグーグルをサーフィンするのに数時間を費やしましたが、答えを思いつきませんでした。答えを調べられた場所に関する情報も役立ちます。
最も簡単な方法は、次を使用することです。
plt.gca().invert_yaxis()
画像をプロットした後。Origin
のみで動作しimshow
ます。
axis ij
y軸を上向きではなく下向きに増加させるだけですよね?もしそうなら、それでmatplotlib.axes.invert_yaxis()
十分かもしれませんが、今はテストできません。
それでもうまくいかない場合は、それを示唆するメーリング投稿を見つけました
setp(gca(), 'ylim', reversed(getp(gca(), 'ylim')))
あなたが似せたいことをするかもしれませんaxis ij
。
イメージまたはコンター プロットの場合はキーワード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()
以下は、これを達成するための基本的な方法です
ax=pylab.gca()
ax.set_ylim(ax.get_ylim()[::-1])
これ
plt.ylim(max(plt.ylim()), min(plt.ylim()))
これよりも利点があります
plt.gca().invert_yaxis()
また、インタラクティブ モードで同じプロットを繰り返しプロットする場合 (おそらく更新されたデータを使用し、プロットの後にブレークポイントがある場合)、y 軸が毎回反転し続けるわけではありません。