単純なラインプロットがあり、y軸の目盛りをプロットの(デフォルト)左側から右側に移動する必要があります。これを行う方法について何か考えはありますか?
単純なラインプロットがあり、y軸の目盛りをプロットの(デフォルト)左側から右側に移動する必要があります。これを行う方法について何か考えはありますか?
回答:
使用する ax.yaxis.tick_right()
例えば:
from matplotlib import pyplot as plt
f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
plt.plot([2,3,4,5])
plt.show()
sharey=True
。
ホアキンの答えは機能しますが、軸の左側から目盛りを削除するという副作用があります。これを修正するには、へのtick_right()
電話でフォローアップしてくださいset_ticks_position('both')
。改訂された例:
from matplotlib import pyplot as plt
f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
ax.yaxis.set_ticks_position('both')
plt.plot([2,3,4,5])
plt.show()
結果は、両側に目盛りがあり、右側に目盛りラベルがあるプロットです。
誰かが(私がしたように)尋ねた場合だけですが、これはsubplot2gridを使用するときにも可能です。例えば:
import matplotlib.pyplot as plt
plt.subplot2grid((3,2), (0,1), rowspan=3)
plt.plot([2,3,4,5])
plt.tick_params(axis='y', which='both', labelleft='off', labelright='on')
plt.show()
これが表示されます:
ax.tick_params(axis='y', which='both', labelleft='off', labelright='on')
ます。しかし、それは移動しませんylabel
plt.gca()
現在のAxesオブジェクトを取得できます。したがって、次のものを使用しますplt.gca().yaxis.set_label_position("right")