- Qt 6.11
- Qt Graphs
- QML Types
- QtGraphs
- XYSeries
- Qt Graphs | Commercial or GPLv3

# XYSeries QML Type

A parent type for all x & y series types. More...

Import Statement: | `import QtGraphs`
In C++: | QXYSeries
Inherits: | AbstractSeries
Inherited By: | LineSeries, ScatterSeries, and SplineSeries

- List of all members, including inherited members
- XYSeries is part of Qt Graphs QML Types for 2D.

## Properties

- color : color
- count : int
- draggable : bool
- pointDelegate : Component
- selectedColor : color
- selectedPoints : list<int>

## Signals

- clicked(point point)
- colorChanged(color color)
- doubleClicked(point point)
- draggableChanged()
- pointMarkerChanged()
- pointReplaced(int index)
- pointsAdded(int start, int end) `(since 6.9)`
- pointsReplaced()
- pressed(point point)
- released(point point)
- selectedColorChanged(color color)
- selectedPointsChanged()

## Methods

- append(list<point> points)
- append(point point)
- append(real x, real y)
- point at(int index)
- clear()
- deselectAllPoints()
- deselectPoint(int index)
- deselectPoints(list<int> indexes)
- int find(point point)
- insert(int index, point point)
- bool isPointSelected(int index)
- remove(int index)
- remove(point point)
- remove(real x, real y)
- removeMultiple(int index, int count)
- replace(list<point> points)
- replace(int index, point newPoint)
- replace(point oldPoint, point newPoint)
- replace(int index, real newX, real newY)
- replace(real oldX, real oldY, real newX, real newY)
- selectAllPoints()
- selectPoint(int index)
- selectPoints(list<int> indexes)
- setPointSelected(int index, bool selected)
- bool take(point point)
- toggleSelection(list<int> indexes)

## Detailed Description

In XYSeries, data points are defined as a list of point types, defining X and Y positions.

## Property Documentation

### color : color

The main color of the series. For LineSeries this means the line color and for ScatterSeries the color of the point

### count : int `[read-only]`

Returns the number of data points in a series.

### draggable : bool

Controls if the series can be dragged with mouse/touch. By default, draggable is set to `false`.

### pointDelegate : Component

A custom QML Component used as a marker for data points.

The dynamic properties available for this component are:

Type | Name | Description
--- | --- | ---
bool | pointSelected | This value is true when the point is selected.
Color | pointColor | The color of the series. This value comes either from the GraphsTheme or from XYSeries::color if the XYSeries overrides the color.
Color | pointBorderColor | The border color of the series. This value comes from the GraphsTheme.
Color | pointSelectedColor | The selected color of the series. This value comes either from the GraphsTheme or from XYSeries::selectedColor if the XYSeries overrides the color.
real | pointBorderWidth | The border width of the series. This value comes from the GraphsTheme.
real | pointValueX | The value of the XYPoint::x at this position.
real | pointValueY | The value of the XYPoint::y at this position.
int | pointIndex | The index of the point, from 0 to the amount of points - 1. [since 6.9]

To use any of these, add property with the defined name into your custom component. For example `"property color pointColor"` and `"property real pointValueX"`.

### selectedColor : color

The color of selected points.

### selectedPoints : list<int> `[read-only]`

The indexes of the points which are currently selected.

## Signal Documentation

### clicked(point point)

This signal is emitted when the user clicks or taps the point in the graph.

Note: The corresponding handler is `onClicked`.

### colorChanged(color color)

This signal is emitted when the line color changes to color.

Note: The corresponding handler is `onColorChanged`.

### doubleClicked(point point)

This signal is emitted when the user double-clicks or double-taps the data point in the graph. The point is the point where the first press was triggered. This signal always occurs after clicked.

Note: The corresponding handler is `onDoubleClicked`.

### draggableChanged()

This signal is emitted when a series becomes draggable by a mouse/touch or becomes fixed.

Note: The corresponding handler is `onDraggableChanged`.

### pointMarkerChanged()

This signal is emitted when a point is changed.

Note: The corresponding handler is `onPointMarkerChanged`.

### pointReplaced(int index)

This signal is emitted when a point is replaced at the position specified by index.

Note: The corresponding handler is `onPointReplaced`.

### `[since 6.9]` pointsAdded(int start, int end)

This signal is emitted when a list of points is appended. The indexes of the new added points are between start and end.

Note: The corresponding handler is `onPointsAdded`.

This signal was introduced in Qt 6.9.

### pointsReplaced()

This signal is emitted when all points are replaced.

Note: The corresponding handler is `onPointsReplaced`.

### pressed(point point)

This signal is emitted when the user presses the data point in the graph and holds down the mouse button or gesture.

Note: The corresponding handler is `onPressed`.

### released(point point)

This signal is emitted when the user releases the previously pressed mouse button or gesture on the data point.

Note: The corresponding handler is `onReleased`.

### selectedColorChanged(color color)

This signal is emitted when the color of selected series changes to color.

Note: The corresponding handler is `onSelectedColorChanged`.

### selectedPointsChanged()

This signal is emitted when the set of selected points changes.

Note: The corresponding handler is `onSelectedPointsChanged`.

## Method Documentation

### append(list<point> points)

Appends points with the coordinates points to the series.

Note: This is much faster than appending data points one by one. Emits pointsAdded when the points have been added.

### append(point point)

Appends a point with the coordinates point to the series.

### append(real x, real y)

Appends a point with the coordinates x and y to the series.

### point at(int index)

Returns the point at the position specified by index. Returns (0, 0) if the index is not valid.

### clear()

Removes all points from the series.

### deselectAllPoints()

Deselects all points in the series.

Note: Emits QXYSeries::selectedPointsChanged

See also setPointSelected().

### deselectPoint(int index)

Deselects point at given index.

Note: Emits QXYSeries::selectedPointsChanged

See also setPointSelected().

### deselectPoints(list<int> indexes)

Marks multiple points passed in a indexes list as deselected.

Note: Emits QXYSeries::selectedPointsChanged

See also setPointSelected().

### int find(point point)

Finds and returns the index of the first matching point found as defined by point. Returns -1 if the point is not found.

### insert(int index, point point)

Inserts a point with the coordinates point to the position specified by index in the series. If the index is 0 or less than 0, the point is prepended to the list of points. If the index is equal to or greater than than the number of points in the series, the point is appended to the list of points.

### bool isPointSelected(int index)

Returns true if point at given index is among selected points and false otherwise.

Note: Selected points are drawn using the selected color if it was specified.

See also selectedPoints, setPointSelected(), and selectedColor.

### remove(int index)

Removes the point at the position specified by index from the series.

### remove(point point)

Removes the point with the coordinates point from the series. Does nothing if the point does not exist.

### remove(real x, real y)

Removes the point with the coordinates x and y from the series. Does nothing if the point does not exist.

### removeMultiple(int index, int count)

Removes the number of points specified by count from the series starting at the position specified by index.

### replace(list<point> points)

Replaces the current points with the points specified by points

Note: This is much faster than replacing data points one by one, or first clearing all data, and then appending the new data. Emits pointsReplaced when the points have been replaced.

### replace(int index, point newPoint)

Replaces the point at the position specified by index with the point that has the coordinates newPoint.

### replace(point oldPoint, point newPoint)

Replaces the point with the coordinates oldPoint with the point with the coordinates newPoint. Does nothing if the old point does not exist.

### replace(int index, real newX, real newY)

Replaces the point at the position specified by index with the point that has the coordinates newX and newY.

### replace(real oldX, real oldY, real newX, real newY)

Replaces the point with the coordinates oldX and oldY with the point with the coordinates newX and newY. Does nothing if the old point does not exist.

### selectAllPoints()

Marks all points in the series as selected,

Note: Emits QXYSeries::selectedPointsChanged

See also setPointSelected().

### selectPoint(int index)

Marks point at index as selected.

Note: Emits QXYSeries::selectedPointsChanged

See also setPointSelected().

### selectPoints(list<int> indexes)

Marks multiple points passed in a indexes list as selected.

Note: Emits QXYSeries::selectedPointsChanged

See also setPointSelected().

### setPointSelected(int index, bool selected)

Marks point at given index as either selected or deselected as specified by selected.

Note: Selected points are drawn using the selected color if it was specified. Emits QXYSeries::selectedPointsChanged

See also isPointSelected(), selectAllPoints(), and selectedColor.

### bool take(point point)

Takes a point, specified by point, out of the series if found. Returns `true` if the operation is successful.

### toggleSelection(list<int> indexes)

Changes selection state of points at given indexes to the opposite one.

Note: Emits QXYSeries::selectedPointsChanged

See also setPointSelected().