Как удалить ось скаттера, после его удаления

Создаю кнопкой скаттер(точки на графике), потом другой кнопкой удаляю скаттер. Скаттер удаляется а вот оси остаются. Пробовал chart1.removeAxis(delete), происходит закрытие графика. Вот здесь на гифке видно, что серия удаляется а ось нет анимация

from PyQt5 import QtWidgets, QtChart
from PyQt5.QtCore import Qt
from PyQt5.QtChart import *

data = ((0, 7380, 7520, 7380, 7510, 7324),
        (1, 7520, 7580, 7410, 7440, 7372),
        (2, 7440, 7650, 7310, 7520, 7434),
        (3, 7450, 7640, 7450, 7550, 7480),
        (4, 7510, 7590, 7460, 7490, 7502),
        (5, 7500, 7590, 7480, 7560, 7512),
        (6, 7560, 7830, 7540, 7800, 7584))

mas = [7380, 7520, 7440, 7450, 7510, 7500, 7560]
x = len(mas)


class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)

        central_widget = QtWidgets.QWidget()
        self.setCentralWidget(central_widget)

        self.open_btn = QtWidgets.QPushButton("Open")
        self.open_btn.clicked.connect(self.add_chartview)
        self.close_btn = QtWidgets.QPushButton("Close")
        self.close_btn.clicked.connect(self.remove_chartview)

        hbox = QtWidgets.QHBoxLayout()
        hbox.addWidget(self.open_btn)
        hbox.addWidget(self.close_btn)

        self.series = QCandlestickSeries()
        tm = []
        for num, o, h, l, c, m in data:
            self.series.append(QCandlestickSet(o, h, l, c))
            tm.append(str(num))

        self.chart = QChart()
        self.chart.addSeries(self.series)
        self.chart.createDefaultAxes()
        self.chart.legend().hide()
        self.chart_view = QChartView(self.chart)
        self.chart.axisX(self.series).setCategories(tm)

        self.lay = QtWidgets.QVBoxLayout(central_widget)
        self.lay.insertLayout(0, hbox)
        self.lay.addWidget(self.chart_view)

        self.resize(640, 480)

    def add_chartview(self):
        self.scatter = QtChart.QScatterSeries()
        self.item = self.lay.itemAt(1)
        widget = self.item.widget()
        chart = widget.chart()
        print(len(chart.series()))
        self.scatter.append(float(3), mas[3])
        self.scatter.append(float(5), mas[5])
        chart.addSeries(self.scatter)
        widget.setChart(chart)

        axisX = QValueAxis()
        chart.addAxis(axisX, Qt.AlignBottom)
        self.scatter.attachAxis(axisX)

        axisY = QValueAxis()
        chart.addAxis(axisY, Qt.AlignLeft)
        self.scatter.attachAxis(axisY)

        chart.axisX(self.scatter).setRange(0, 6)

        chart.update()

    def remove_chartview(self):
        self.item = self.lay.itemAt(1)
        widget = self.item.widget()
        chart1 = widget.chart()
        r = chart1.series()
        print(len(r))
        if len(r) > 1:
            delete = r[1]
            chart1.removeSeries(delete)


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

Ответы (0 шт):