如何设置注释仅显示散点图坐标,而不显示绘图中的任何点?

时间:2019-08-15 21:07:25

标签: python matplotlib animation annotations

我有一个动态图,该图不断更新。我想让用户看到每个散点及其坐标。我有一个当前可以使用的注释,但是它显示了绘图区域中的任何点,不仅是我的“兴趣点”(散点)。

我的数据(不断更新和绘制)的格式为:

(6.442, '2019-08-07 15:13:58')
(4.125, '2019-08-07 15:15:29')
(3.432, '2019-08-07 15:16:44')
(2.999, '2019-08-07 15:18:29')
(1.058, '2019-08-07 15:19:19')
(6.293, '2019-08-07 15:21:57')
(5.979, '2019-08-07 15:22:43')
(4.581, '2019-08-07 15:23:52')

和光标代码在这里:

class PageThree(tk.Frame):

    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)
        label = tk.Label(self, text="Gráficos", font=LARGE_FONT)
        label.pack(pady=10,padx=10)

        button1 = ttk.Button(self, text="Back",
                            command=lambda: controller.show_frame(StartPage))
        button1.pack()

        canvas = FigureCanvasTkAgg(fig, self)

        datacursor(ax1, formatter = print_coords, hover = True)
        datacursor(ax2, formatter = print_coords, hover = True)

        canvas.draw()
        canvas.get_tk_widget().pack(side=tk.BOTTOM, fill=tk.BOTH, expand=True)

        toolbar = NavigationToolbar2Tk(canvas, self)
        toolbar.update()
        canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=True)



def print_coords(**kwargs):
    return 'Valor medido : {y:.6f} às {x:s}'.format(y=kwargs['y'],
                                                    x=mdates.num2date(kwargs['x']).strftime('%d/%m %H:%M:%S'))


app = SeaofBTCapp()
ani = animation.FuncAnimation(fig, animate, interval=1000)
app.mainloop()

我已经阅读了许多类似的问题,但是主要问题是使注释随情节“走动”。我唯一关心的是仅显示散点的坐标,并且由于我使用的是hover = True,所以我不必担心注释的移动。

谢谢!

0 个答案:

没有答案