pyqtgraph ลบคำอธิบายที่มีอยู่ใน pyqt4 gui

ฉันต้องการพล็อตหลายรายการใน pyQt4 gui จากการเลือกรายการซึ่งผู้ใช้สามารถเลือกได้ว่าจะแสดงพล็อตใด พวกเขาสามารถทำได้บ่อยเท่าที่ต้องการ แต่ละครั้งที่พวกเขาลงจุดข้อมูลใหม่ คำอธิบายจะยังคงอยู่ แม้ว่าไม่ได้ลงจุดก็ตาม รหัสของฉันคือ:

self.DataPlotter.setLabels(left=("magnitude"),bottom=(str(x_ind)))
title = str(y_ind) + " vs " + str(x_ind)
self.DataPlotter.setTitle(title)
self.DataPlotter.addLegend()

for y,c in zip(y_ind,range(len(y_ind))):
    self.DataPlotter.plot(self.df[x_ind].tolist(),self.df[y].tolist(), name=y, pen=(c,4))

ฉันจะทำลายตำนานเก่าในแต่ละรอบได้อย่างไร?


person laserpython    schedule 14.03.2017    source แหล่งที่มา


คำตอบ (1)


ฉันพบวิธีแก้ปัญหาที่นี่: https://groups.google.com/forum/#!topic/pyqtgraph/DdWyB1ljQdw

ฉันต้องเพิ่มสิ่งนี้ (ไม่แน่ใจว่าจำเป็นต้องลอง/ยกเว้นหรือไม่):

    try:
        self.legend.scene().removeItem(self.legend)
    except Exception as e:
        print e

รหัสสุดท้ายมีลักษณะดังนี้:

        self.DataPlotter.setLabels(left=("magnitude"),bottom=(str(self.x_ind)))
        title = str(self.y_ind) + " vs " + str(self.x_ind)
        self.DataPlotter.setTitle(title)
        try:
            self.legend.scene().removeItem(self.legend)
        except Exception as e:
            print e
        self.legend = self.DataPlotter.addLegend()
        for y,c in zip(y_ind,range(len(y_ind))):
           self.DataPlotter.plot(self.df[x_ind].tolist(),self.df[y].tolist(), name=y, pen=(c,4))
person laserpython    schedule 14.03.2017