Форум сайта python.su
0
Mathplotlib
добавляет вокруг поля с графиком серую рамку
уже все испробовал и перерыл интернет
ка сделать так, чтобы ее не было как показано на рисунке слева ?
Прикреплённый файлы:
gray border.png (34,8 KБ)
Офлайн
33
Офлайн
0
А не клац ,
то что там описано убирает просто все, что вокруг графика но те ту рамку как на моем рисунке.
проблема в том , что эта рамка появляеться в результате фокусировки питона на этом поле.
Я создал классб который рисует поле графика. если последовательно вызвать например три графика,
то рамка будет на последнем (см. вложенный рис.). Внизу код:
import Tkinter
from Tkinter import*
import numpy as numpy
import matplotlib.ticker
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
class plotGraph(Frame):
def __init__(self, parent):
Frame.__init__( self, parent )
frame=Frame(self)
frame.pack()
facecolor='white'
fig = Figure(figsize
3,3), dpi=80,facecolor='w')
self.ax = fig.add_subplot(111)
self.ax.grid()
self.canvas = FigureCanvasTkAgg(fig,master=frame)
self.canvas.show()
self.canvas.get_tk_widget().pack()
if __name__ == “__main__”:
root = Tk()
root.wm_state('zoomed')
root.title(“Class plotGraph”)
plot=plotGraph(root)
plot.pack(side=LEFT,padx=20)
plot2=plotGraph(root)
plot2.pack(side=LEFT,padx=20)
plot3=plotGraph(root)
plot3.pack(side=LEFT,padx=20)
root.mainloop()
Прикреплённый файлы:
gray border 2.png (14,9 KБ)
Офлайн
33
oleh
Внизу код:
Офлайн
0
[code python][code python]import Tkinter from Tkinter import* import numpy as numpy import matplotlib.ticker from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg from matplotlib.figure import Figure class plotGraph(Frame): def __init__(self, parent): Frame.__init__( self, parent ) frame=Frame(self) frame.pack() facecolor='white' fig = Figure(figsize=(3,3), dpi=80,facecolor='w') self.ax = fig.add_subplot(111) self.ax.grid() self.canvas = FigureCanvasTkAgg(fig,master=frame) self.canvas.show() self.canvas.get_tk_widget().pack() if __name__ == "__main__": root = Tk() root.wm_state('zoomed') root.title("Class plotGraph") plot=plotGraph(root) plot.pack(side=LEFT,padx=20) plot2=plotGraph(root) plot2.pack(side=LEFT,padx=20) plot3=plotGraph(root) plot3.pack(side=LEFT,padx=20) root.mainloop()[/code]
Офлайн
0
в tkinter при вставке canvas в форму можно все контролировать, а тут эта рамка все портит и ничего с ней невозможно сделать !! буду очень благодарен помощи
Офлайн
58
Простите. Я не совсем понимаю смысл происходящего. Не легче ли получить черерз matplotlib файл png и вставить его в canvas. Или есть какие-то причины вставлять именно график?
Офлайн
0
есть, тут дело принципа. идея в том, что график нужно вставить в любое место на форме. при этом эта рамка портив весь вид (меня всбесила невозможность ее убрать каким либо очевидным и простым методом).
графические объекты в графике будут меняться на нем интерактивно (от нажатия какой либо клавиши)
постоянное конвертирование в png и последующая вставка в канвас непиемлима
Офлайн