Я пишу программу с графиком, который должен менять цвет при достижении определенной точки.
Это мой текущий код:
self.chart = QtCharts.QChart()
self.chart.setAnimationOptions(QtCharts.QChart.AllAnimations)
self.chartView = QtCharts.QChartView(self.chart)
self.chartView.setRenderHint(QPainter.Antialiasing)
series = QtCharts.QLineSeries()
pen = QtGui.QPen();
pen.setStyle(Qt.SolidLine)
pen.setBrush(QColor(213, 0, 0))
pen2 = QtGui.QPen();
pen2.setStyle(Qt.SolidLine)
pen2.setBrush(QColor(25,255,25))
for x in range(51):
z = x*2
y = pow(x,2)
series.append(z,y)
series.setPen(pen)
if x >=10:
n = x
for st in range(n, 51):
series.setPen(pen2)
self.chart.addSeries(series)
self.main_layout = QVBoxLayout()
self.main_layout.addWidget(self.chartView)
self.setLayout(self.main_layout)
for n in range(11):
x_ax = n*5
self.axis_x = QtCharts.QValueAxis()
self.axis_x.setTickCount(11)
self.axis_x.setRange(0, x_ax)
self.axis_x.setLabelFormat("%.0f")
self.chart.addAxis(self.axis_x, Qt.AlignBottom)
series.attachAxis(self.axis_x)
for n in range(31):
y_ax = n*10
self.axis_y = QtCharts.QValueAxis()
self.axis_y.setTickCount(16)
self.axis_y.setRange(0, y_ax)
self.axis_y.setLabelFormat("%.0f")
self.chart.addAxis(self.axis_y, Qt.AlignLeft)
series.attachAxis(self.axis_y)
Проблема в том, что весь график меняет цвет, а не только часть, которая выше x.Я пробовал много разных вещей, но ничего не получалось.Вот как должен выглядеть график:
Любая помощь будет отличной.