1

matplotlibで何かをプロットするときはいつでも、プロット上にマウスを移動すると、カーソルのx位置とy位置が下部に表示されます。これは、データを探索するときに非常に便利です。

ここで、ティックラベルを別の値に設定すると、プロットの下部にあるカーソルのx位置は空になりますが、GUIはy位置を追跡します。xの位置を取得し続ける方法はありますか?

これは、これが起こっている簡単な例です。

import numpy as np
fig, ax = plt.subplots()
x=np.linspace(0,np.pi)
y=np.sin(x)
ax.plot(x,y)
ax.set_xticks([0,np.pi/2,np.pi])
ax.set_xticklabels(['0','pi/2','pi'])
plt.show()
4

1 に答える 1

2

いいえ、これを行う簡単な方法はありません。

文字列のリストでラベルを設定すると、それを機能させるためにいくつかの独特の動作を持つ(doc)xaxis.major_formatterに設定します( x 軸にラベルを付けるときに指定される 3 番目の引数を指定しない限り、常に を返しますが、それ以外ではありません)。カーソルのある場所のマーキングは を使用して生成され、 a を呼び出すと が返され、それが表示されます。FixedFormatter ''major_formatterFixedFormatter''

本当にこれが必要な場合は、独自のコールバックを作成する必要があります。「matplotlib の imshow の色の値?」を参照してください。出発点のために。(またはサブクラス化axesして再実装しますformat_coord(現在の matplotlib マスター ブランチの axes.py の 2903 行付近)

于 2012-09-26T17:21:08.200 に答える