2016-12-13 4 views
1

У меня есть фигура matplotlib, встроенная в виджет в приложении Qt.изменить стиль существующей цифры

Я создаю это так:

from matplotlib.figure import Figure 
matplotlib.use('Qt4Agg') 
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas 

self.figure = Figure() 
self.widget = FigureCanvas(self.figure) 

В течение жизни графика и виджет можно добавить несколько строк, баров, топоры и т.д. Чтобы очистить таблицу, я использую:

self.figure.clear() 
self.figure.canvas.draw() 

Чтобы добавить несколько строк:

ax = self.figure.add_subplot(111) 
ax.plot(x, values, etc...) 
self.figure.canvas.draw() 

означает, что я не уничтожить и воссоздать рисунок каждый раз, когда она меняется, я повторное использование существующей цифры. Но есть ли возможность изменить полный стиль фигуры, используя что-то наподобие matplotlib.pyplot.style в течение своей жизни? Или мне нужно всегда создавать новую фигуру (и новый виджет), когда я хочу изменить стиль?

ответ

1

Изменение стиля похоже на изменение rcParams, оно не изменит свойства уже созданных объектов. Это не очень хорошо подходит для работы matplotlib.

Обратите внимание, что некоторые объекты создаются при взаимодействии с графиком, например тика. При масштабировании и панорамировании новые метки ярлыков могут создаваться «на лету» и отражать изменения в стиле/rcParams.

Вы можете выбирать между воссозданием объектов и написанием кода, который явно изменяет их свойства.