PyQt QChart Цвет и частота решётки графика
Есть простейший график. Как сделать:
Установить свой цвет решётки.
По дефолту звенья решётки появляются по каждой отметке на осях. В данном случае отметки (
labels
) идут по иксу каждые 20 точек (задаётся тутx_axis.setTickInterval(20)
), вертикальные полосы решётки им соответствуют. По игреку та же логика. Мне надо чтобы отметки были, например, каждые 5 точек, а решётка осталась как сейчас.
from PySide6.QtWidgets import QVBoxLayout, QApplication
from PySide6.QtCharts import QLineSeries, QChart, QChartView, QValueAxis
from PySide6.QtGui import QColor, QBrush
import sys
import math
class Chart1(QChart):
def __init__(self):
super().__init__()
series = QLineSeries()
x_axis = QValueAxis()
y_axis = QValueAxis()
self.setAxisX(x_axis)
self.setAxisY(y_axis)
self.legend().setVisible(False)
for i in range (0, 100, 1):
series.append(i, math.sin(i))
self.addSeries(series)
self.axisX().setRange(0, 100)
self.axisY().setRange(-1,1)
x_axis.setTickType(QValueAxis.TickType.TicksDynamic)
x_axis.setTickInterval(20)
y_axis.setTickType(QValueAxis.TickType.TicksDynamic)
y_axis.setTickInterval(0.2)
axis_brush = QBrush(QColor("white"))
y_axis.setLabelsBrush(axis_brush)
x_axis.setLabelsBrush(axis_brush)
if __name__ == '__main__':
app = QApplication(sys.argv)
c1 = Chart1()
chart_view = QChartView(c1)
chart_view.chart().setBackgroundBrush(QBrush("black"))
chart_view.show()
sys.exit(app.exec())
Ответы (1 шт):
Автор решения: Garp
→ Ссылка
Всё оказалось очень просто:
Цвет решётки
x_axis.setGridLineColor(QColor("red"))
Более частая решётка при прежней частоте отметок на оси
x_axis.setMinorTickCount(5)
Вообще условно вторая решётка это minorGrid
, ей можно управлять - частота, цвет, толщина.