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

Posted

技术标签:

【中文标题】PyQt4/matplotlib:如何修复 MatplotlibDeprecationWarning 由于 axes.hold()【英文标题】:PyQt4/matplotlib:How to fix MatplotlibDeprecationWarning due to axes.hold() 【发布时间】:2019-02-14 06:03:30 【问题描述】:

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

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

【问题讨论】:

pyqt5, matplotlib2 and the deprecation of axes.hold的可能重复 【参考方案1】:

文档说Axes.hold()现在默认总是设置为true,所以你可以成功删除这行代码: self.axes.hold(True) 开心就好。

Check out the Docs

【讨论】:

“……快乐”是这里的重要部分!

以上是关于PyQt4/matplotlib:如何修复 MatplotlibDeprecationWarning 由于 axes.hold()的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 mat-tab 的标题

修复了 mat-sidenav-content 中的元素

如何将犰狳库修复为 C++

调整textarea大小时,所有元素都向下移动:如何修复

将参数传递给 mat-dialog open 方法

如何打开mat文件