簡體   English   中英

Python Matplotlib從圖中獲取光標數據

[英]Python matplotlib get data with cursor from plot

,大家好,我使用的是python> matplotlib,我想通過使用光標從圖中獲取數據。

import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0., 2., 0.1)
plt.plot(t,t,'g^')
ax = plt.gca()
line = ax.lines[0]
xd = line.get_xdata()
yd = line.get_ydata()
valx = np.where(xd==xd[0])
plt.show()

在圖中,從0,01.9,1.9會有19個點; 所以...

當我先單擊0,0然后再單擊0.3,0.3 ,我想獲取值:

(0,0);
(0.1,0.1);
(0.2,0.2);
(0.3,0.3)

有沒有辦法做到這一點?

但是還有一個問題是光標必須在該點上,有沒有辦法將光標定位在圖形而不是其他點上???

matplotlib頁面上有一個Picker示例 您可以對其進行調整,以在單擊第n個點時顯示前n個點對。

import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0., 2., 0.1)
line, = plt.plot(t,t,'g^', picker=6)

def click(event):
    artist = event.artist
    ind = event.ind[0]
    xd = artist.get_xdata()[:ind]
    yd = artist.get_ydata()[:ind]
    print( zip(xd, yd) )

cid = plt.gcf().canvas.mpl_connect("pick_event", click)

plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM