Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 28, 2010 18:02:18

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib: оформление

Кто-нибудь знает, как избавиться от черной рамки на фигуре?



Офлайн

#2 Сен. 28, 2010 18:08:23

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Matplotlib: оформление

код покажи

Офлайн

#3 Сен. 28, 2010 18:46:16

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib: оформление

Ну самый простой вариант:

import matplotlib.pyplot as plt
F = plt.figure()
A = F.add_subplot(111)
A.plot([1,2,3])
plt.show()
Так то оно ничего. Но когда фигура цепляется к окну приложения, получается некрасиво



Офлайн

#4 Сен. 28, 2010 19:20:35

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib: оформление

Вот здесь понагляднее:

from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.figure import Figure

import Tkinter as Tk
root = Tk.Tk()
root.grid_propagate(False)
root.config(width = 700,height = 600)
Fig = Figure(figsize=(6,4), dpi=100,frameon = False)
MyAxes = Fig.add_subplot(111)
Fig.set_facecolor('white')

MyAxes.plot([1,2,3])
canvas = FigureCanvasTkAgg(Fig, master=root)
canvas._tkcanvas.grid(column = 0, row = 0)
root.mainloop()
Нужно избавиться от внешней черной рамки



Офлайн

#5 Сен. 29, 2010 06:00:19

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib: оформление

В примерах на wxPython такой рамки нет, похоже дело в самом Tk



Офлайн

#6 Сен. 29, 2010 07:35:47

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib: оформление

Ухх, нашел! Таки действительно к Matplotlib эта проблема отношения не имеет.
То же самое получается при использовании, к примеру, Tix.Tree
Рамка появляется, когда виджет в фокусе.
В приведенном выше примере поступаем так:

 canvas._tkcanvas.config(highlightcolor = 'SystemButtonFace')
А еще лучше: сanvas._tkcanvas.config(highlightthickness = 0)



Отредактировано (Сен. 29, 2010 09:20:02)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version