2017-10-02 30 views
0

imshowで表示されたイメージをマウスオーバーすると、イメージをマウスオーバーしてRGB値を検査できます。matplotlibのマウスオーバーテキストを制御する方法

x = 274.99 y = 235.584 [.241, .213, .203] 

しかし、私は震えプロットをマウスオーバー、それだけ示す:画素の画像座標とRGB値を示している(ツールバーと空間を共有する)matplotlibのウィンドウの右下隅の位置は指摘されていますポインタのx座標とy座標は指し示すが、2Dベクトルの値は指さない。ベクトル値を表示する方法はありますか?

matplotlibウィンドウにテキストのビットを設定する方法しか知りませんでしたが、私はカスタムマウスイベントハンドラを作成するといいです。

答えて

1

デフォルトでは、色の値に関する情報が存在しないことがありました。実際のところ、現在のバージョンは、その機能に関するいくつかの質問でStackoverflowに登場したいくつかのコードに基づいていると思います。

私はすぐにこれらの二つの質問が見つかりました:

アイデアはマウスが軸を置いたときに呼び出される関数を変更することです。この関数はax.format_coordに格納されています。したがって、可能な解決策は、入力座標に基づいて所望の出力を返すようにカスタム関数を書くことです。 〜のようなもの

def format_coord(x, y): 
    try: 
     z = # get value depending on x,y, e.g. via interpolation on grid 
      # I can't fill this because the kind of data is unknown here 
     return "x: {}, y: {}, z: {}".format(x,y,z) 

    except: 
     return "x: {}, y: {}".format(x,y) 

ax.format_coord = format_coord 
関連する問題