Qt Data Visualization

Qt Data Visualization module provides a way to visualize data in 3D.


  • Multiple data visualization options: 3D Bars, 3D Scatter, and 3D Surface
  • 2D slice views of the 3D data
  • Interactive data: rotate, zoom, and highlight data using mouse or touch
  • Uses OpenGL for rendering the data
  • QML2 support
  • Customizable axes for data
    • Control viewable data window with axis ranges
    • Customize value axis grid lines and labels with axis formatters
    • Polar horizontal axes support for surface and scatter graphs
  • Customizable input handling
  • Customizable themes
  • Custom items and labels can be added to any graph
  • Ready-made data proxies to visualize data from Qt item models and height maps
  • Perspective and orthographic projections
  • Volumetric custom items

Getting Started

To import Qt Data Visualization QML types, add the following import statement to your .qml file:

import QtDataVisualization 1.2

If you intend to use Qt Data Visualization C++ classes in your application, use the following include and using directives:

#include <QtDataVisualization>

using namespace QtDataVisualization;

Note: If you are only using a few classes from this module, we recommend including only those specific classes instead of the whole module.

To link against the Qt Data Visualization module, add this line to your qmake project file:

QT += datavisualization

See the Getting started page for further information on how to use Qt Data Visualization in your application.



Qt Data Visualization comes with the following examples:

Audiolevels Example

Simple application showing real time audio data.

Bars Example

Using Q3DBars in a widget application.

Custom Input Example

Implementing custom input handler in a widget application.

Custom Items Example

Adding custom items to a surface graph.

Custom Proxy Example

Using Q3DBars with a custom proxy.

Axis Range Dragging With Labels Example

Implementing a custom input handler to support axis dragging.

Item Model Example

Using an item model as data source for Q3DBars.

Qt Quick 2 Axis Dragging Example

Implementing axis dragging in QML

Qt Quick 2 Axis Formatter Example

Example of a hybrid C++ and QML application demonstrating different axis formatters.

Qt Quick 2 Bars Example

Using Bars3D in a QML application.

Qt Quick 2 Custom Input Example

Customizing input in a QML application.

Qt Quick 2 Legend Example

Showing graph legend in a QML application.

Qt Quick 2 Multiple Graphs Example

Showing multiple graphs simultaneously in a QML application.

Qt Quick 2 Oscilloscope Example

Example of a hybrid C++ and QML application.

Qt Quick 2 Scatter Example

Using Scatter3D in a QML application.

Qt Quick 2 Spectrogram Example

Showing spectrogram graph in a QML application.

Qt Quick 2 Surface Example

Using Surface3D in a QML application.

Qt Quick 2 Surface Multiseries Example

Using multiple series with Surface3D in a QML application.

Rotations Example

Using rotated scatter items

Scatter Example

Using Q3DScatter in a widget application.

Surface Example

Using Q3DSurface in a widget application.

Textured Surface Example

Using texture with Q3DSurface.

Volumetric rendering Example

Rendering volumetric objects.

© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.