我试图在tkinter窗口中显示4个或更多图表,但它们放错了位置,我认为我还需要一个滚动条。代码如下:
root = tk.Tk()
figure1 = plt.Figure(figsize=(2,2), dpi=100)
ax1 = figure1.add_subplot(221)
ax1.plot(df1['year'], df1['personal'], color='red')
scatter1 = FigureCanvasTkAgg(figure1, root)
scatter1.get_tk_widget().pack()
ax1.legend([''])
ax1.set_xlabel('valeur de personals')
ax1.set_title('ev de personal ')
figure2 = plt.Figure(figsize=(2,2), dpi=100)
ax2 = figure2.add_subplot(222)
scatter2 = FigureCanvasTkAgg(figure2, root)
scatter2.get_tk_widget().pack(side=tk.RIGHT)
ax2.legend([''])
ax2.set_xlabel('valeur BSA')
ax2.set_title('Evolutiion des valeurs BSA depuis 1990 ')
ax2.plot(df2['year'], df2['value'], color='red')
figure3 = plt.Figure(figsize=(2,2), dpi=100)
ax3 = figure3.add_subplot(223)
#the same code for the reste
root.mainloop()
我看到两个问题
第一名:
创建4个画布
FigureCanvasTkAgg
,在每个画布上使用add_subplot(222)
为4个绘图(2x2)创建位置,但在每个画布中仅使用一个位置。您只能使用一个画布进行此操作秒:
您需要
pack(fill="both", expand=True)
来调整绘图大小并使用窗口中的所有空间您还可以使用
pack(side=tk.RIGHT)
,这会使布局出现问题最小工作代码
结果:
编辑:
与4个画布相同-每个画布使用
add_plot('111')
只保留一个绘图-但这次我使用grid()
而不是pack()
来组织它它需要
columnconfigure
、rowconfigure
来调整单元格大小并使用窗口中的所有空间。和grid( ..., sticky='news')
将画布调整为单元格大小结果:
现在,这些地块的利润率较小
相关问题 更多 >
编程相关推荐