午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

python中matplotlib實現隨鼠標滑動自動標注代碼

瀏覽:172日期:2022-07-29 10:31:58

Python+matplotlib進行鼠標交互,實現動態標注,數據可視化顯示,鼠標劃過時畫一條豎線并使用標簽來顯示當前值。

Python3.6.5,代碼示例:

import matplotlib.pyplot as pltimport numpy as npdef Show(y):#參數為一個listlen_y = len(y)x = range(len_y)_y = [y[-1]]*len_yfig = plt.figure(figsize=(960/72,360/72))ax1 = fig.add_subplot(1,1,1)ax1.plot(x, y, color=’blue’)line_x = ax1.plot(x, _y, color=’skyblue’)[0]line_y = ax1.axvline(x=len_y-1, color=’skyblue’)ax1.set_title(’aaa’)#標簽text0 = plt.text(len_y-1,y[-1],str(y[-1]),fontsize = 10)def scroll(event):axtemp=event.inaxesx_min, x_max = axtemp.get_xlim()fanwei_x = (x_max - x_min) / 10if event.button == ’up’:axtemp.set(xlim=(x_min + fanwei_x, x_max - fanwei_x))elif event.button == ’down’:axtemp.set(xlim=(x_min - fanwei_x, x_max + fanwei_x))fig.canvas.draw_idle() #這個函數實時更新圖片的顯示內容def motion(event):try:temp = y[int(np.round(event.xdata))]for i in range(len_y):_y[i] = templine_x.set_ydata(_y)line_y.set_xdata(event.xdata)######text0.set_position((event.xdata, temp))text0.set_text(str(temp))fig.canvas.draw_idle() # 繪圖動作實時反映在圖像上except:passfig.canvas.mpl_connect(’scroll_event’, scroll)fig.canvas.mpl_connect(’motion_notify_event’, motion)plt.show()

效果演示:

python中matplotlib實現隨鼠標滑動自動標注代碼

補充知識:matplotlib獲取鼠標所在位置的axes

手頭的項目遇到一個問題,如何獲取鼠標所在位置的axes對應的obspy.core.trace。在繪制axes時,我設置了一個數組用來保存每一個trace所對應的axes,這樣比較方便繪制標簽。但我的項目需要對繪制的圖像做放大縮小以及拖拽,這需要我單獨對一個axes來進行相應的操作。那么如何通過axes來獲得對應的trace呢?我想了這幾個辦法:

1.設置一個hash表,記錄每一個axes與trace的對應情況,通過鼠標操作傳入的event,可以得到當前axes的引用地址,以這個引用地址作為關鍵字查找hash表,獲取對應trace。

2.通過axes引用地址定位到mpl的axes數組,通過axes數組的下標來訪問繪制時設置的數組獲得trace。

3.獲取axes.label的內容,作為關鍵字去遍歷obspy.core.stream,獲取trace。

4.通過event獲取鼠標位置,在結合畫布大小通過計算得到數組下標,在訪問繪制時設置的數組可以得到trace

前三種方法都不能保證一定能獲取到trace,并且有出錯的風險,但是如果可以實現,可靠性是大于最后一種,但是最后一種實現起來是最簡單的,明天我再思考如何通過matplotlib的鼠標事件來獲取對應的trace

后來發現,可以采用第三種方法。訪問event.inaxes來獲得

以上這篇python中matplotlib實現隨鼠標滑動自動標注代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美日韩视频 | 伊人中文字幕 | 国产成人在线视频播放 | 亚洲黄色网址 | 色播亚洲 | 91视频导航| 日韩成人精品 | 一本色道久久综合亚洲精品按摩 | 国产成人小视频 | 蜜桃91丨九色丨蝌蚪91桃色 | 亚洲欧洲一区二区 | 黄色一级小视频 | 国产精品3| 久久久久国产 | 日韩射吧| 中文国产| av大片在线观看 | 国产在线看 | 色视频在线看 | 欧美又粗又大又长 | 欧美在线不卡 | 真实的国产乱xxxx在线91 | 一区三区视频 | 日韩一区二 | 一区在线观看视频 | 成人日皮视频 | 久青草视频在线 | 成人3d动漫一区二区三区91 | 中文字幕一区二区三区在线播放 | 亚洲成熟少妇视频在线观看 | 夜色福利视频 | 在线中文字幕亚洲 | 一道本视频在线 | 欧美特级一级片 | 天堂色网| 一级特黄色 | 日本黄色片视频 | 影音先锋在线视频观看 | 爆操白丝美女 | 98av| 日韩特一级 |