-1

私は地図を持っていますが、左クリックをダブルクリックして地図をズームインし、左クリックしてポイントを取得したいのですが、どうすればよいですか? 「ginput」コマンドは知っていますが、左ダブルクリックでは機能しないようです。

latsize=[39,45]
lonsize=[-72.,-66]
plt.figure(figsize=(7,6))
m = Basemap(projection='cyl',llcrnrlat=min(latsize)-0.01,urcrnrlat=max(latsize)+0.01,\
            llcrnrlon=min(lonsize)-0.01,urcrnrlon=max(lonsize)+0.01,resolution='h')#,fix_aspect=False)
m.drawparallels(np.arange(int(min(latsize)),int(max(latsize))+1,1),labels=[1,0,0,0])
m.drawmeridians(np.arange(int(min(lonsize)),int(max(lonsize))+1,1),labels=[0,0,0,1])
plt.show()
4

1 に答える 1

2

私はあなたがmatplotlibを使用していると仮定していますか? マウス イベントのイベント ハンドラーを登録する必要があります。必要な情報はすべてここにあります。

取り扱いbutton_press_eventまたはをご覧くださいbutton_release_event。MouseEvent クラスのリンクをたどると、ブール値の double click indicator があることがわかりますdblclick

必要最小限の例を次に示します。

import matplotlib.pyplot as plt

def handle_mouse_press( event ):
    if event.dblclick:
        print "Can haz dblclikz???"

fig = plt.figure()
fig.add_subplot(111)
fig.canvas.mpl_connect('button_press_event', handle_mouse_press)

plt.show()
于 2013-05-21T14:04:32.253 に答える