Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Tkinter中显示matplotlib条形图_Python_Matplotlib_Charts_Tkinter - Fatal编程技术网

Python 在Tkinter中显示matplotlib条形图

Python 在Tkinter中显示matplotlib条形图,python,matplotlib,charts,tkinter,Python,Matplotlib,Charts,Tkinter,我试图在Tkinter窗口中显示matplotlib条形图。我找到了很多关于如何放入折线图的教程,例如: 但是我找不到一个用来放条形图的。我知道制作条形图的唯一方法如下:。显然,条形图示例中导入的模块与Tkinter示例中的模块不同,如果可以的话,我不确定如何使其工作 长话短说,谁能给我举一个matplotlib条形图在Tkinter窗口中显示的例子?谢谢。对于将来可能想知道的任何人,我想出了如何让它工作的方法。基本上,您的条形图必须位于图形上,以便FigureCastKagg可以生成一个小部

我试图在Tkinter窗口中显示matplotlib条形图。我找到了很多关于如何放入折线图的教程,例如:

但是我找不到一个用来放条形图的。我知道制作条形图的唯一方法如下:。显然,条形图示例中导入的模块与Tkinter示例中的模块不同,如果可以的话,我不确定如何使其工作


长话短说,谁能给我举一个matplotlib条形图在Tkinter窗口中显示的例子?谢谢。

对于将来可能想知道的任何人,我想出了如何让它工作的方法。基本上,您的条形图必须位于图形上,以便FigureCastKagg可以生成一个小部件供Tkinter使用。我假设您需要使用pyplot,但事实并非如此。这就是我想到的:

import matplotlib, numpy, sys
matplotlib.use('TkAgg')
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
if sys.version_info[0] < 3:
    import Tkinter as Tk
else:
    import tkinter as Tk

root = Tk.Tk()

f = Figure(figsize=(5,4), dpi=100)
ax = f.add_subplot(111)

data = (20, 35, 30, 35, 27)

ind = numpy.arange(5)  # the x locations for the groups
width = .5

rects1 = ax.bar(ind, data, width)

canvas = FigureCanvasTkAgg(f, master=root)
canvas.show()
canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

Tk.mainloop()
导入matplotlib、numpy、sys matplotlib.use('TkAgg') 从matplotlib.backends.backend_tkagg导入图CAVASTKAGG 从matplotlib.figure导入图形 如果系统版本信息[0]<3: 将Tkinter作为Tk导入 其他: 将tkinter作为Tk导入 root=Tk.Tk() f=图(figsize=(5,4),dpi=100) ax=f.add_子批次(111) 数据=(20,35,30,35,27) ind=numpy.arange(5)#组的x个位置 宽度=.5 rects1=最大条(索引、数据、宽度) canvas=FigureCanvasTkAgg(f,master=root) canvas.show() canvas.get_tk_widget().pack(side=tk.TOP,fill=tk.BOTH,expand=1) Tk.mainloop()
嗨,山姆,你能补充一下你到目前为止试过的吗?看起来你只需要试着把你给出的两个链接组合在一起,为什么不试一下呢!