改变现有人物的风格

时间:2016-12-13 13:58:37

标签: python matplotlib pyqt pyside

我在Qt应用程序的小部件中嵌入了一个matplotlib图。

我这样创建:

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()

这意味着我不会在每次更改时销毁并重新创建图形,我正在重复使用现有图形。但有没有选择在matllotlib.pyplot.style的生命周期中改变图形的完整风格?或者,当我想要更改样式时,是否需要始终创建新图形(和新窗口小部件)?

1 个答案:

答案 0 :(得分:2)

更改样式就像更改rcParams一样,它不会更改已创建对象的属性。这不符合matplotlib的工作方式。

请注意,在您与绘图交互时会创建一些对象,例如刻度标签。缩放和平移时,可以动态创建新的刻度标签,并反映样式/ rcParams的变化。

您可以选择重新创建对象并编写明确更改其属性的代码。