首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在一个窗口中使用两个FigureCanvasTkAgg

可以实现在同一个窗口中显示两个独立的图形。

FigureCanvasTkAgg是Matplotlib库中的一个类,用于在Tkinter应用程序中显示Matplotlib图形。它可以将Matplotlib图形渲染为Tkinter窗口中的画布。

要在一个窗口中使用两个FigureCanvasTkAgg,可以按照以下步骤进行操作:

  1. 导入必要的库和模块:
代码语言:txt
复制
import tkinter as tk
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
  1. 创建Tkinter窗口:
代码语言:txt
复制
window = tk.Tk()
window.title("Two FigureCanvasTkAgg Example")
  1. 创建两个Figure对象:
代码语言:txt
复制
figure1 = Figure(figsize=(5, 4), dpi=100)
figure2 = Figure(figsize=(5, 4), dpi=100)
  1. 创建两个FigureCanvasTkAgg对象,并将Figure对象与之关联:
代码语言:txt
复制
canvas1 = FigureCanvasTkAgg(figure1, master=window)
canvas2 = FigureCanvasTkAgg(figure2, master=window)
  1. 在窗口中放置两个画布:
代码语言:txt
复制
canvas1.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
canvas2.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
  1. 在Figure对象中添加图形:
代码语言:txt
复制
# 在figure1中添加图形
ax1 = figure1.add_subplot(111)
ax1.plot([1, 2, 3, 4], [1, 4, 9, 16])

# 在figure2中添加图形
ax2 = figure2.add_subplot(111)
ax2.bar(['A', 'B', 'C'], [3, 7, 2])
  1. 更新画布:
代码语言:txt
复制
canvas1.draw()
canvas2.draw()

完整的代码示例:

代码语言:txt
复制
import tkinter as tk
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

window = tk.Tk()
window.title("Two FigureCanvasTkAgg Example")

figure1 = Figure(figsize=(5, 4), dpi=100)
figure2 = Figure(figsize=(5, 4), dpi=100)

canvas1 = FigureCanvasTkAgg(figure1, master=window)
canvas2 = FigureCanvasTkAgg(figure2, master=window)

canvas1.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
canvas2.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

ax1 = figure1.add_subplot(111)
ax1.plot([1, 2, 3, 4], [1, 4, 9, 16])

ax2 = figure2.add_subplot(111)
ax2.bar(['A', 'B', 'C'], [3, 7, 2])

canvas1.draw()
canvas2.draw()

window.mainloop()

这样就可以在同一个窗口中使用两个FigureCanvasTkAgg显示两个独立的图形了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

9分19秒

023-Maven入门教程-使用idea中maven工具窗口

31分16秒

10.使用 Utils 在列表中请求图片.avi

2分23秒

在谷歌Chrome网页中播放海康威视RTSP视频流在播放窗口内叠加网页元素?

14分25秒

062_第六章_Flink中的时间和窗口(二)_水位线(三)_水位线在代码中的生成(一)

8分48秒

063_第六章_Flink中的时间和窗口(二)_水位线(三)_水位线在代码中的生成(二)

23分54秒

JavaScript教程-48-JSON在开发中的使用【动力节点】

11分37秒

107.使用Image-Loader在ListView中请求图片.avi

22分4秒

87.使用Volley在ListView或者GridView中请求图片.avi

11分50秒

JavaScript教程-49-JSON在开发中的使用2【动力节点】

8分26秒

JavaScript教程-50-JSON在开发中的使用3【动力节点】

4分21秒

JavaScript教程-51-JSON在开发中的使用4【动力节点】

19分33秒

JavaScript教程-52-JSON在开发中的使用5【动力节点】

领券