我正在使用matplotlib等高线图创建GUI,我使用tkinter的FigurecanvasTkagg函数将该图放在GUI上。但是我对tkinter是一个新手,我不知道如何改变等高线图使用的截面数量,也不知道如何改变tkinter的数量。我希望你能理解我的问题
在等高线功能中,plt.contour采用输入编号5,这会改变绘图中的截面数量。我希望能够使用GUI更改此数字。怎么可能呢?谢谢你的阅读
import tkinter as tk
from tkinter import *
from tkinter import filedialog as fd
import numpy as np
root = tk.Tk()
root.geometry("1920x1080")
root.state('zoomed')
def UploadAction():
global filename
filename = fd.askopenfilename()
extension = pathlib.Path(filename).suffix
contour_method()
def contour_method():
rows, cols = na.shape
x = np.arange(0, cols)
y = np.arange(0, rows)
x, y = np.meshgrid(x, y)
#2D contour plot
cont = plt.contourf(x, y, img, 5)
plt.gca().invert_yaxis()
fig = Figure(figsize=(15,8), dpi=80)
# inv = figure_plot.gca().invert_yaxis()
sub = fig.add_subplot(111)
gra = sub.contourf(cont), sub.invert_yaxis()
fig.colorbar(cont)
canvas3 = FigureCanvasTkAgg(fig, master=frame3_title)
canvas3.get_tk_widget().pack()
button_1 = tk.Button(root, text='Import file', command=UploadAction)
button_1.pack()
root.mainloop()
我有我问题的答案。我就是这样解决的
首先,我创建了一个entry小部件,将entry.get()放在一个函数中,并将该函数链接到一个按钮。因此,当按下按钮时,用户输入将进入并传递到matplotlib等高线打印函数,并在画布中打印
我希望这能为如何根据tkinter中的用户输入更改轮廓截面提供思路
相关问题 更多 >
编程相关推荐