这是我的代码的结果。
这些是
from tkinter import *
from tkinter import ttk
import matplotlib
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
当我想用subplot(2,2,x)
查看代码来绘制4个图时,我遇到了问题。
#Canvas 1
self.f = Figure(figsize=(5,4), dpi=100)
self.k = self.f.add_subplot(2, 2, 1)
self.k.plot([1,2,3,4,5],[6,7,8,9,0])
self.plot = FigureCanvasTkAgg(self.f, self.root)
self.plot.show()
self.plot.get_tk_widget().place(x=40,y=250)
# Canvas 2
self.f1 = Figure(figsize=(5,4), dpi=100)
self.k1 = self.f.add_subplot(2, 2, 2)
self.k1.plot([0,9,0,9,0],[6,7,8,9,0])
# Canvas 3
self.f2 = Figure(figsize=(5,4), dpi=100)
self.k2 = self.f2.add_subplot(2, 2, 3)
self.k2.plot([1,2,3,4,5],[0,9,0,9,0])
# Canvas 4
self.f3 = Figure(figsize=(5,4), dpi=100)
self.k3 = self.f3.add_subplot(2, 2, 4)
self.k3.plot([1,2,3,4,5],[0,9,0,9,0])
答案 0 :(得分:0)
第二个画布被添加到第一个数字f
,这就是显示它的原因。如果每个子图都有自己的数字,那么使用子图并没有多大意义。
应该解决问题,将所有子图添加到self.f
。