【问题标题】:Python matplotlib get data with cursor from plotPython matplotlib 从绘图中获取带有光标的数据
【发布时间】:2017-07-20 18:38:02
【问题描述】:

,大家好,我正在使用 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)

有没有办法做到这一点?

还有一个问题是光标必须在点上,有没有办法将光标定位在图形而不是其他点上???

【问题讨论】:

    标签: python numpy matplotlib


    【解决方案1】:

    matplotlib 页面上有一个Picker example。您可以调整它以在单击第 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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-29
      • 2014-05-21
      • 2017-07-14
      • 2015-04-18
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      相关资源
      最近更新 更多