有一个简单的图表。 怎么做:
设置自定义网格线颜色。
默认情况下,在轴上的每个刻度线处绘制网格线。 我需要 X 轴上的标记,例如每 5 个点, 每个网格有 20 个点(如“图片”中所示)。
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())
我找不到任何关于这种可能性的讨论。
ups,一切都变得非常简单。
网格颜色:
x_axis.setGridLineColor(QColor("red"))
轴上标记频率相同的更频繁的光栅
x_axis.setMinorTickCount(5)