PyQt4 / matplotlib:由于axis.hold()如何修复MatplotlibDeprecationWarning

时间:2019-02-14 06:03:31

标签: matplotlib pyqt4

我正在使用matplotlib和python3.6。我的程序运行成功,但显示以下警告消息:

/home/sree/python/PyPrgm.py:41:MatplotlibDeprecationWarning:axes.hold已过时。

我引用了http://matplotlib.org/api/api_changes.html。我如何摆脱这个警告?

class PyTabWidget(QTabWidget):
    def __init__(self):
        super(PyTabWidget,self).__init__()
        tab1=FirstTab()
        self.addTab(tab1,"TAB1")

class FirstTab(QTabWidget):
    def __init__(self):
        super(FirstTab,self).__init__()
        grp1=QGroupBox("GroupBox1")
        grp1.setStyleSheet("QGroupBox { border:1px ; background-color:white}")
        graph=TwoD_GraphWindow()    #2D graphWindow object
        layout=QGridLayout()    #create layout
        layout.setColumnMinimumWidth(0, 10)
        layout.setColumnMinimumWidth(2, 10)
        layout.setColumnMinimumWidth(4, 10)
        layout.setRowMinimumHeight(0, 10)
        layout.setRowMinimumHeight(4, 10)
        layout.addWidget(graph, 2, 2)
        self.setLayout(layout)  #set the layout
        A=np.linspace(0,10,100)
        graph.DrawGraph(A)  #invoke DrawGraph() function

class TwoD_GraphWindow(FigureCanvas): #Class for 2D window
    def __init__(self):
        self.fig=Figure() #Figure() object
        self.axes = self.fig.add_subplot(111)
        FigureCanvas.__init__(self, self.fig) #creating FigureCanvas
        self.setWindowTitle("Main") # sets Window title

    def DrawGraph(self, x):#Fun for Graph plotting
        self.axes.clear() #clear the axes
        self.axes.plot(x,np.sin(x),'-' ) #plots the 2D graph
        self.axes.hold(True) #do not clear the axis
        self.axes.plot(x,np.cos(x),'--');
        self.draw()

1 个答案:

答案 0 :(得分:3)

文档说Axes.hold()现在总是默认设置为true,因此您可以成功删除以下代码行: self.axes.hold(True),然后开心。

Check out the Docs