summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/doc/src/qtdatavisualization.qdoc
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-06-05 12:00:24 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-06-05 12:03:16 +0300
commitcfbfbea7d932f98c3f541bb4fc3e975ffb7a5658 (patch)
treebed376368e9611c751cf1dd75b85de2827d67325 /src/datavisualization/doc/src/qtdatavisualization.qdoc
parent8435c15d224a4e9db0920ecd33c4bea3e70d83bf (diff)
parentc51e0f83ef6dd9e85db6953995585ba0cafb35d7 (diff)
Merge branch 'develop'
Diffstat (limited to 'src/datavisualization/doc/src/qtdatavisualization.qdoc')
-rw-r--r--src/datavisualization/doc/src/qtdatavisualization.qdoc59
1 files changed, 35 insertions, 24 deletions
diff --git a/src/datavisualization/doc/src/qtdatavisualization.qdoc b/src/datavisualization/doc/src/qtdatavisualization.qdoc
index 836823e6..af419814 100644
--- a/src/datavisualization/doc/src/qtdatavisualization.qdoc
+++ b/src/datavisualization/doc/src/qtdatavisualization.qdoc
@@ -37,7 +37,7 @@
*/
/*!
- \qmlmodule QtDataVisualization 1.0
+ \qmlmodule QtDataVisualization 1.1
\title Qt Data Visualization QML Types
\ingroup qmlmodules
@@ -73,8 +73,8 @@
in the package manager.
After installation Qt Data Visualization documentation and examples are available in Qt Creator.
- You can find all Qt Data Visualization examples by typing \c visualization in the
- \c {Search in Examples...} field.
+ Examples can be found on the examples page of Qt Creator by selecting the Qt Data Visualization
+ component from the drop-down menu.
The source code is installed into the QtDataVisualization folder under EnterpriseAddOns.
@@ -238,9 +238,18 @@
and which role specifies the value of the item. When the proxy resolves the data from the model,
it uses these mappings to generate the rows and columns of the bar graph.
+ Often the item models will have a single role that contains information you want to map to
+ multiple values. A typical example of this is a timestamp field when generating a bar graph
+ with two time related axes, for example years and months. To enable mapping a single item
+ model role to more than one data field, pattern matching and replacing mechanism is provided
+ by item model proxies. You can also use this mechanism to reformat data even in one-to-one
+ mapping cases.
+
Depending on the visualization type, proxies may support other functionalities as well,
such as QItemModelBarDataProxy optionally mapping QAbstractItemModel rows and columns directly
- into bar graph rows and columns. See individual proxy classes for more information and examples
+ into bar graph rows and columns.
+
+ See individual proxy classes for more information and examples
about how to use them: QItemModelBarDataProxy, QItemModelScatterDataProxy, and
QItemModelSurfaceDataProxy.
@@ -257,28 +266,27 @@
When you have a data set that updates rapidly, it is important to handle data properly to
ensure good performance. Since memory allocation is a costly operation, always use
- QList::reserve() and QVector::resize() where possible to avoid reallocations when constructing
- the array to give to the proxy. If you need to change the entire data set for each frame,
- it is in most cases best to reuse the existing array - especially if the array dimensions do not
- change. If you need to add, insert, remove, or change several rows or items for each frame, it
- is always more efficient to do it with one method call instead of multiple calls affecting
- a single row or item each. For example, adding ten rows with a single QBarDataProxy::addRows() call
- is much more efficient than ten separate QBarDataProxy::addRow() calls.
-
- Bars renderer is optimized to access only data that is within the data window and thus should not
- suffer noticeable slowdown even if more data is continually added to the proxy.
+ QList::reserve() and QVector::resize() where possible to avoid unnecessary reallocations when
+ constructing the array to give to the proxy. If you need to change the entire data set
+ for each frame, it is in most cases best to reuse the existing array - especially if the
+ array dimensions do not change. If you need to add, insert, remove, or change several
+ rows or items for each frame, it is always more efficient to do it with one method call
+ instead of multiple calls affecting a single row or item each. For example, adding ten
+ rows with a single QBarDataProxy::addRows() call is much more efficient than ten
+ separate QBarDataProxy::addRow() calls.
+
+ Bars renderer is optimized to access only data that is within the data window and thus
+ should not suffer noticeable slowdown even if more data is continually added to the proxy.
Due to the unsorted nature of the scatter data, any change in the data window ranges requires
all data points to be checked for visibility, which can cause increasing slowdown if data is
- continually added to the proxy.
+ continually added to the proxy. For the best performance with the scatter graphs, only keep
+ the data you need in the proxy.
Surface data, while on item level similar to scatter data, is already assigned into rows and
- columns, so the surface renderer can do some optimization by making the assumption that the data in
- rows and columns is sorted along their respective axes, but it is nowhere near as efficient
- as in the bars case. Surface rendering can suffer significant slowdown if the data size grows unchecked.
-
- For the best performance with the scatter and surface graphs, only keep the data you need in the
- proxy.
+ columns, so the surface renderer can optimize drawing by making the assumption that
+ the data in the rows and columns is sorted along their respective axes. It is not quite as
+ efficient as in the bars case, but nearly so.
*/
/*!
@@ -303,7 +311,8 @@
a single row or column.
Bar graph additionally supports simply highlighting the whole row and/or column of the selected bar
- without opening the slice view.
+ without opening the slice view. Bar graph also supports selecting/slicing a whole row and/or
+ column by clicking the axis label, based on selection mode.
When multiple series are added to a graph, selecting an item in one of them will clear the selection
on other series.
@@ -322,10 +331,12 @@
\li Q3DLight class (and Light3D QML item) are currently not usable for anything.
\li Changing any of Q3DScene properties affecting subviewports currently has no effect.
\li The color style Q3DTheme::ColorStyleObjectGradient doesn't work for surface graphs.
- \li Scatter "point" meshes (QAbstract3DSeries::MeshPoint) do not support gradients, they
- always use the base color.
\li Widget based examples layout incorrectly in iOS.
\li Reparenting a graph to an item in another QQuickWindow is not supported.
+ \li There is a low-impact binary break between 1.0 and 1.1. The break is due to a QML type
+ registration conflict with QAbstractItemModel between QtDataVisualization and
+ QtCommercial.Charts. Introducing the binary break makes it possible to use both
+ Charts and Data Visualization in the same QML application.
\endlist
*/