这是我的代码的结果。

,这些是库
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])发布于 2018-04-01 18:38:02
第二个画布将被添加到第一个图形f中,这就是显示它的原因。如果每个子图都有自己的数字,那么使用子图就没有多大意义了。
应该解决这个问题,将所有的子图添加到self.f中。
https://stackoverflow.com/questions/49601231
复制相似问题