Repeater cannot be used to add LineSeries to a GraphsView. LineSeries is not a visual Item (not a QML Item), and GraphsView does not process its QML children. As a result, series created by Repeater are either never instantiated correctly or never registered with the graph.
The correct solution is to use Instantiator and explicitly call GraphsView.addSeries().
Instantiator is intended for exactly this case: creating non-visual objects and manually attaching them.
Your code below is the correct and supported approach:
import QtQuick
import QtQuick.Controls.Basic
import QtQuick.Controls 6.5
import QtGraphs
import Qt.labs.qmlmodels
Item {
id: processPlot
property var model: TableModel {
id: seriesModel
TableModelColumn { display: "time" }
TableModelColumn { display: "raw_pressure" }
TableModelColumn { display: "filtered_pressure" }
TableModelColumn { display: "raw_position" }
TableModelColumn { display: "filtered_position" }
TableModelColumn { display: "raw_speed" }
TableModelColumn { display: "filtered_speed" }
rows: [
{
time: 0,
raw_pressure: 0,
filtered_pressure: 0,
raw_position: 240000,
filtered_position: 240000,
raw_speed: 0,
filtered_speed: 0,
},
{
time: 10,
raw_pressure: 5,
filtered_pressure: 4,
raw_position: 240400,
filtered_position: 240400,
raw_speed: 20,
filtered_speed: 18,
},
{
time: 20,
raw_pressure: 10,
filtered_pressure: 9,
raw_position: 241000,
filtered_position: 241000,
raw_speed: 20,
filtered_speed: 19,
}
]
}
GraphsView {
id: graphsView
anchors.fill: parent
axisX: ValueAxis {
max: 100
}
axisY: ValueAxis {}
}
Instantiator {
model: 6
Component.onCompleted: {
console.log("Repeater completed");
}
delegate: LineSeries {
id: series
Component.onCompleted: {
console.log("Repeated item completed");
graphsView.addSeries(series);
}
XYModelMapper {
model: processPlot.model
series: series
xSection: 0
ySection: index + 1
}
Component.onDestruction: graphsView.removeSeries(series)
}
}
}