首页 > 解决方案 > 在 tkinter 中制作 Checkbutton 可切换图

问题描述

我正在尝试使用 FigureCanvasTkAgg 将图表嵌入到我的 tkinter gui 中,但遇到了一些困难。我尝试通过让 onvalue 调用该函数并传入一个子图号来创建一个函数,以便在激活检查按钮时显示图形,这样当激活检查按钮时,它们就会以正确的顺序出现。上述代码如下:

def graphs(num):
    plt.style.use('ggplot')
    f = Figure(figsize=(5,5), dpi=100)
    sensor_graph = f.add_subplot(num)
    sensor_graph.plot([1,2,3,4,5,6,7,8], [8,7,6,5,4,3,2,1])

    canvas = FigureCancasTkAgg(f)
    canvas.show()
    canvas.get_tk_widget().grid(row=0,column=1, padx=10, pady=10)

那里的图表数据只是用于查看它是否工作的虚拟数据,这就是我知道它不起作用的方式。checkbutton 调用类似于:

sensor_1 = ttk.Checkbutton(sensor_frame, text = sensor_list[0] + ' [%s]' % sensor_units[0], onvalue =lambda: graphs[811], offvalue = 'Pizza', variable=clap1)

当我用当前代码调用这个函数时,我得到的是: 激活之前, 激活之后

除此之外,我试图在画布上添加一个滚动条,这样我就可以滚动浏览不同的图表,而不是扩展窗口以适应子图。有没有人有什么建议?

标签: python-3.xmatplotlibtkinterplot

解决方案


推荐阅读