- Qt 6.8
- Qt Graphs
- QML Types
- QtGraphs
- Bar3DSeries
- Qt Graphs | Commercial or GPLv3

# Bar3DSeries QML Type

Represents a data series in a 3D bar graph. More...

Import Statement: | `import QtGraphs`
In C++: | QBar3DSeries
Inherits: | Abstract3DSeries

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

## Properties

- baseColor : color
- baseGradient : Gradient
- colorStyle : GraphsTheme.ColorStyle
- columnLabels : list
- dataArray : BarDataArray
- dataProxy : BarDataProxy
- invalidSelectionPosition : point
- itemLabel : string
- itemLabelFormat : string
- itemLabelVisible : bool
- mesh : Abstract3DSeries.Mesh
- meshAngle : real
- meshRotation : quaternion
- meshSmooth : bool
- multiHighlightColor : color
- multiHighlightGradient : Gradient
- name : string
- rowColors : list<Color>
- rowLabels : list
- selectedBar : point
- singleHighlightColor : color
- singleHighlightGradient : Gradient
- type : Abstract3DSeries.SeriesType
- userDefinedMesh : string
- visible : bool

## Signals

- baseColorChanged(color color)
- baseGradientChanged(Gradient gradient)
- colorStyleChanged(GraphsTheme.ColorStyle style)
- columnLabelsChanged()
- dataArrayChanged(BarDataArray array)
- dataProxyChanged(BarDataProxy proxy)
- itemLabelChanged(string label)
- itemLabelFormatChanged(string format)
- itemLabelVisibilityChanged(bool visible)
- meshAngleChanged(real angle)
- meshChanged(Abstract3DSeries.Mesh mesh)
- meshRotationChanged(quaternion rotation)
- meshSmoothChanged(bool enabled)
- multiHighlightColorChanged(color color)
- multiHighlightGradientChanged(Gradient gradient)
- nameChanged(string name)
- rowColorsChanged(list<color> rowcolors)
- rowLabelsChanged()
- selectedBarChanged(point position)
- singleHighlightColorChanged(color color)
- singleHighlightGradientChanged(Gradient gradient)
- userDefinedMeshChanged(string fileName)
- visibilityChanged(bool visible)

## Methods

- void setMeshAxisAndAngle(vector3d axis, real angle)

## Detailed Description

This type manages the series specific visual elements, as well as the series data (via a data proxy).

Bar3DSeries supports the following format tags for itemLabelFormat:

@rowTitle | Title from row axis
@colTitle | Title from column axis
@valueTitle | Title from value axis
@rowIdx | Visible row index. Localized using the graph locale.
@colIdx | Visible column index. Localized using the graph locale.
@rowLabel | Label from row axis
@colLabel | Label from column axis
@valueLabel | Item value formatted using the format of the value axis attached to the graph. For more information, see labelFormat.
@seriesName | Name of the series
%<format spec> | Item value in the specified format. Formatted using the same rules as labelFormat.

For a more complete description, see QBar3DSeries.

See also Qt Graphs Data Handling with 3D.

## Property Documentation

baseColor : color

Sets the base color of the series.

See also colorStyle and GraphsTheme.seriesColors.

baseGradient : Gradient

Sets the base gradient of the series.

See also colorStyle and GraphsTheme.seriesGradients.

colorStyle : GraphsTheme.ColorStyle

Sets the color style for the series.

See also GraphsTheme.ColorStyle.

columnLabels : list

The optional column labels for the array. Indexes in this array match column indexes in rows. If the list is shorter than the longest row, all columns will not get labels.

dataArray : BarDataArray

Holds the reference of the data array.

dataArrayChanged signal is emitted when data array is set, unless newDataArray is identical to the previous one.

Note: Before doing anything regarding the dataArray, a series must be created for the relevant proxy.

dataProxy : BarDataProxy

The active data proxy. The series assumes ownership of any proxy set to it and deletes any previously set proxy when a new one is added. The proxy cannot be null or set to another series.

invalidSelectionPosition : point `[read-only]`

A constant property providing an invalid position for selection. This position is assigned to the selectedBar property to clear the selection from this series.

See also GraphsItem3D.clearSelection().

itemLabel : string `[read-only]`

The formatted item label. If there is no selected item or the selected item is not visible, returns an empty string.

See also itemLabelFormat.

itemLabelFormat : string

The label format for data items in this series. This format is used for single item labels, for example, when an item is selected. How the format is interpreted depends on series type.

See also Bar3DSeries, Scatter3DSeries, and Surface3DSeries.

itemLabelVisible : bool

If `true`, item labels are drawn as floating labels in the graph. Otherwise, item labels are not drawn. To show the item label in an external control, this property is set to `false`. Defaults to `true`.

See also itemLabelFormat and itemLabel.

mesh : Abstract3DSeries.Mesh

Sets the mesh of the items in the series, or the selection pointer in case of Surface3DSeries. If the mesh is Abstract3DSeries.Mesh.UserDefined, then the userDefinedMesh property must also be set for items to render properly. The default value depends on the graph type.

See also QAbstract3DSeries::Mesh.

meshAngle : real

A convenience property for defining the series rotation angle in degrees.

Note: When reading this property, it is calculated from the Abstract3DSeries.meshRotation value using floating point precision and always returns a value from zero to 360 degrees.

See also Abstract3DSeries.meshRotation.

meshRotation : quaternion

Sets the mesh rotation that is applied to all items of the series. The rotation should be a normalized quaternion. For those series types that support item specific rotation, the rotations are multiplied together. Bar3DSeries ignores any rotation that is not around the y-axis. Surface3DSeries applies the rotation only to the selection pointer. Defaults to no rotation.

meshSmooth : bool

If `true`, smooth versions of predefined meshes set via the mesh property are used. This property does not affect custom meshes used when the mesh is set to Abstract3DSeries.Mesh.UserDefined. Defaults to `false`.

multiHighlightColor : color

Sets the multiple item highlight color of the series.

See also colorStyle and GraphsTheme.multiHighlightColor.

multiHighlightGradient : Gradient

Sets the multiple item highlight gradient of the series.

See also colorStyle and GraphsTheme.multiHighlightGradient.

name : string

The series name. It can be used in item label format with the tag `@seriesName`.

See also itemLabelFormat.

rowColors : list<Color>

This property can be used to draw the rows of the series in different colors. The GraphsTheme.colorStyle must be set to `Uniform` to use this property.

Note: If the property is set and the theme is changed, the rowColors list is not cleared automatically.

See also QGraphsTheme::ColorStyle::Uniform.

rowLabels : list

The optional row labels for the array. Indexes in this array match the row indexes in the data array. If the list is shorter than the number of rows, all rows will not get labels.

selectedBar : point

The bar in the series that is selected.

The position of the selected bar is specified as a row and column in the data array of the series.

Only one bar can be selected at a time.

To clear the selection from this series, assign invalidSelectionPosition as the position.

If this series is added to a graph, the graph can adjust the selection according to user interaction or if it becomes invalid. Selecting a bar on another added series will also clear the selection.

Removing rows from or inserting rows into the series before the row of the selected bar will adjust the selection so that the same bar will stay selected.

See also GraphsItem3D.clearSelection().

singleHighlightColor : color

Sets the single item highlight color of the series.

See also colorStyle and GraphsTheme.singleHighlightColor.

singleHighlightGradient : Gradient

Sets the single item highlight gradient of the series.

See also colorStyle and GraphsTheme.singleHighlightGradient.

type : Abstract3DSeries.SeriesType `[read-only]`

The type of the series. One of the QAbstract3DSeries::SeriesType values.

userDefinedMesh : string

Sets the filename for a user defined custom mesh for objects that is used when mesh is Abstract3DSeries.Mesh.UserDefined.

Note: The file needs to be in the QtQuick3D mesh format. Use the `balsam` conversion tool to create a mesh from other 3D model formats.

visible : bool

Sets the visibility of the series. If `false`, the series is not rendered.

## Signal Documentation

baseColorChanged(color color)

This signal is emitted when baseColor changes to color.

Note: The corresponding handler is `onBaseColorChanged`.

baseGradientChanged(Gradient gradient)

This signal is emitted when baseGradient changes to gradient.

Note: The corresponding handler is `onBaseGradientChanged`.

colorStyleChanged(GraphsTheme.ColorStyle style)

This signal is emitted when colorStyle changes to style.

Note: The corresponding handler is `onColorStyleChanged`.

columnLabelsChanged()

This signal is emitted when column labels change.

Note: The corresponding handler is `onColumnLabelsChanged`.

dataArrayChanged(BarDataArray array)

This signal is emitted when dataArray changes to array.

Note: The corresponding handler is `onDataArrayChanged`.

dataProxyChanged(BarDataProxy proxy)

This signal is emitted when dataProxy changes to proxy.

Note: The corresponding handler is `onDataProxyChanged`.

itemLabelChanged(string label)

This signal is emitted when itemLabel changes to label.

Note: The corresponding handler is `onItemLabelChanged`.

itemLabelFormatChanged(string format)

This signal is emitted when itemLabelFormat changes to format.

Note: The corresponding handler is `onItemLabelFormatChanged`.

itemLabelVisibilityChanged(bool visible)

This signal is emitted when itemLabelVisibility changes to visible.

Note: The corresponding handler is `onItemLabelVisibilityChanged`.

meshAngleChanged(real angle)

This signal is emitted when meshAngle changes to angle.

Note: The corresponding handler is `onMeshAngleChanged`.

meshChanged(Abstract3DSeries.Mesh mesh)

This signal is emitted when mesh changes to mesh.

Note: The corresponding handler is `onMeshChanged`.

meshRotationChanged(quaternion rotation)

This signal is emitted when meshRotation changes to rotation.

Note: The corresponding handler is `onMeshRotationChanged`.

meshSmoothChanged(bool enabled)

This signal is emitted when meshSmooth changes to enabled.

Note: The corresponding handler is `onMeshSmoothChanged`.

multiHighlightColorChanged(color color)

This signal is emitted when multiHighlightColor changes to color.

Note: The corresponding handler is `onMultiHighlightColorChanged`.

multiHighlightGradientChanged(Gradient gradient)

This signal is emitted when multiHighlightGradient changes to gradient.

Note: The corresponding handler is `onMultiHighlightGradientChanged`.

nameChanged(string name)

This signal is emitted when name changes to name.

Note: The corresponding handler is `onNameChanged`.

rowColorsChanged(list<color> rowcolors)

This signal is emitted when rowColors changes to rowcolors.

Note: The corresponding handler is `onRowColorsChanged`.

rowLabelsChanged()

This signal is emitted when row labels change.

Note: The corresponding handler is `onRowLabelsChanged`.

selectedBarChanged(point position)

This signal is emitted when selectedBar changes to position.

Note: The corresponding handler is `onSelectedBarChanged`.

singleHighlightColorChanged(color color)

This signal is emitted when singleHighlightColor changes to color.

Note: The corresponding handler is `onSingleHighlightColorChanged`.

singleHighlightGradientChanged(Gradient gradient)

This signal is emitted when singleHighlightGradient changes to gradient.

Note: The corresponding handler is `onSingleHighlightGradientChanged`.

userDefinedMeshChanged(string fileName)

This signal is emitted when userDefinedMesh changes to fileName.

Note: The corresponding handler is `onUserDefinedMeshChanged`.

visibilityChanged(bool visible)

This signal is emitted when the series visibility changes to visible.

Note: The corresponding handler is `onVisibilityChanged`.

## Method Documentation

void setMeshAxisAndAngle(vector3d axis, real angle)

A convenience function to construct a mesh rotation quaternion from axis and angle.

See also meshRotation.