python - 在 Tkinter 中显示 matplotlib 条形图

标签 python matplotlib charts tkinter

我正在尝试在 Tkinter 窗口中显示 matplotlib 条形图。我找到了很多关于如何放入折线图的教程,例如: http://matplotlib.org/examples/user_interfaces/embedding_in_tk.html

但我找不到用于放入条形图的工具。我知道制作条形图的唯一方法是这样的:http://matplotlib.org/examples/api/barchart_demo.html .显然,条形图示例中导入的模块与 Tkinter 示例中的模块不同,我不确定如何让它工作,如果可以的话。

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

最佳答案

对于将来可能想知道的任何人,我想出了如何让它发挥作用。基本上,您的条形图必须位于 Figure 上,这样 FigureCanvasTkAgg 才能生成供 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.draw()
canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

Tk.mainloop()

关于python - 在 Tkinter 中显示 matplotlib 条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31549613/

相关文章:

javascript - Highcharts 股票图表时间选择器

javascript - gRaphael 绘图文档

python - 如何在 Cython 中测量毫秒级的时间?

python - groupby 不适用于 Pandas.Series

Python - Matplotlib/matplotlib.cbook.TimeoutError : LOCKERROR

python - 用于动画构建的 OpenCV 或 matplotlib?

python - 如何删除一段 matplotlib 轴

javascript - 在 chart.js 条形图上自定义工具提示

python - Flask TypeError : The view function did not return a valid response. 该函数要么返回 None 要么在没有返回语句的情况下结束

python - 在Python中解析字符串列表