次のグラフがあります。
破線の水平線を識別するために、グラフの右側にラベルが付いたカスタムの目盛りを追加したいと思います。どうやってやるの?
ax = gca()
ax.axhline(.5, linestyle='--')
trans = matplotlib.transforms.blended_transform_factory(
ax.transAxes,
ax.transData)
ax.annotate('label', xy=(1.01, .5), xycoords=trans, clip_on=False, va='center')
ax.set_xlim([0,2])
plt.draw()
混合変換の詳細については、こちらを参照してください。のx座標は軸単位です(したがって、常に右に少しずれます.y座標はデータ単位であるため、正確に好きな場所に配置できます。目盛りを入れることにはあまり意味がありません破線がそれらを覆うため、右側にあります。
新しいスケールが必要な場合は、 を使用しますtwinx()
。
fig = plt.figure()
ax = []
ax.append(fig.add_subplot(111))
ax.append(ax[0].twinx())
ax[0].plot(...)
ax[1].set_yticks([...])
ax[1].set_yticklabels([...])
plt.show()
ラベルだけが必要な場合はtext
、@tcaswell が書いたように、thingy を使用してください。