matplotlib导航工具栏编辑曲线和参数线颜色自动更改问题

时间:2014-03-06 12:43:52

标签: python qt matplotlib navigation pyside

让我们考虑一条轴有多条线条,颜色有蓝色,绿色,黄色,红色,品红色,青色等。当用户只选择任何曲线并按下确定而不改变任何东西时,自动黄色和绿色会随之改变略有不同。

只有黄色,绿色才会发生这种情况。

    import sys
    import numpy as np
    from matplotlib.figure import Figure
    import matplotlib
    matplotlib.use("Qt4Agg")
    matplotlib.rcParams['backend.qt4']='PySide'
    from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas, NavigationToolbar2QTAgg as NavigationToolbar
    from matplotlib.figure import Figure
    import PySide
    from PySide import QtGui, QtCore

    class MyApp(QtGui.QMainWindow):
        def __init__(self, parent=None):
            QtGui.QMainWindow.__init__(self, parent)

            self.widget = QtGui.QWidget()
            self.fig = Figure((5.0, 4.0), dpi=100)
            self.canvas = FigureCanvas(self.fig)
            self.toolbar = NavigationToolbar(self.canvas, self)

            vbox = QtGui.QVBoxLayout()
            vbox.addWidget(self.canvas)  # the matplotlib canvas
            vbox.addWidget(self.toolbar)
            self.widget.setLayout(vbox)
            self.setCentralWidget(self.widget)

            self.axes = self.fig.add_subplot(111)
            X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
            C, S = np.cos(X), np.sin(X)

            self.axes.plot(X, C,  linewidth=1.0, linestyle="-", label="cosine")

            self.axes.plot(X, S,  linewidth=1.0, linestyle="-", label="sine")
            self.axes.legend()
            self.canvas.draw()
    def main():
        app = QtGui.QApplication(sys.argv)
        form = MyApp()
        form.show()
        app.exec_()

    if __name__ == "__main__":
        main()

现在运行此脚本并单击工具栏上的“编辑曲线和轴参数”按钮,然后单击“确定”而不进行任何更改。我们可以注意到绿色变化。黄色也是如此。

谢谢, 哈尼。

0 个答案:

没有答案