Проблема с обновлением графика в tkinter TopLevel с использованием matplotlib РисунокCanvasTkAggPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с обновлением графика в tkinter TopLevel с использованием matplotlib РисунокCanvasTkAgg

Сообщение Anonymous »

Я пытаюсь использовать приведенный ниже код для обновления графика в matplotlib РисунокCanvasTkAgg, встроенный в окно tkinter TopLevel.

Код: Выделить всё

import tkinter as tk
from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg, NavigationToolbar2Tk)
from matplotlib.figure import Figure

def toplevelfunc():
global fig, ax, canvas
top = tk.Toplevel()

## Widgets (Run Button, Entry Field) to select a file from which graph has to be plotted on canvas
## Run button function which passes file to be plotted "plot_data"

result_frame = tk.Frame(top)
result_frame.grid(column = 0, row = 3, sticky='NSEW', padx = (15,15), pady = (5, 5), columnspan=3)

fig = Figure(figsize=(10, 5), dpi=100)
ax = fig.add_subplot(111)
fig.subplots_adjust(bottom=0.016, right=0.98, top=0.98, left=0.075, wspace=0, hspace=0)

ax.set_aspect('auto')
ax.set(title="",xticks=[], yticks=[])
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
ax.spines["left"].set_visible(False)
ax.spines["bottom"].set_visible(False)

canvas = FigureCanvasTkAgg(fig, master=result_frame)
canvas.draw()

toolbar = NavigationToolbar2Tk(canvas,result_frame)

toolbar.update()
toolbar.pack(side=tk.TOP, fill=tk.X, padx=0)

canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1, padx=10)

canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1, padx=5)

def plot_data(file):
global fig, ax, canvas
ax.clear()

## Code to plot the file data

ax.set_aspect('auto')
# ax.set(title="",xticks=[], yticks=[])
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
ax.spines["left"].set_visible(True)
ax.spines["bottom"].set_visible(True)

canvas.draw()
Проблема, с которой я столкнулся, заключается в том, что график обновляется в PictureCanvasTkAgg, но не занимает всю область холста.
Может кто-нибудь позволить я знаю, как это решить.

Подробнее здесь: https://stackoverflow.com/questions/790 ... anvastkagg
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»