有一个简单的图表。怎么做:
设置网格颜色。
默认情况下,网格链接出现在轴上的每个标记处。在这种情况下,标记 (
labels) 沿着 X 每 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())
一切都变得非常简单:
格栅颜色
轴上标记频率相同的更频繁的光栅
一般来说,第二个光栅是有条件的
minorGrid,它是可以控制的——频率、颜色、厚度。