summaryrefslogtreecommitdiffstats
path: root/src/charts/doc/src/examples-polarchart.qdoc
blob: 978d3709eba5974f5eed17bcfc3b88dec1e512ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Charts module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:GPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 or (at your option) any later version
** approved by the KDE Free Qt Foundation. The licenses are as published by
** the Free Software Foundation and appearing in the file LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \example polarchart
    \title Polar Chart Example
    \ingroup qtcharts_examples

    \brief The example shows how to create a simple polar chart with multiple different series.

    It also shows how to implement scrolling and zooming of the polar chart as well as
    visually demonstrate how polar charts and cartesian charts relate to each other.

    \image examples_polarchart.png

    Creating a polar chart is done with a QPolarChart instance instead of a QChart instance.

    \snippet polarchart/main.cpp 1

    Axes are created similarly to cartesian charts, but when axes are added to the chart,
    you can use polar orientations instead of alignments.

    \snippet polarchart/main.cpp 2

    Zooming and scrolling of a polar chart is logically nearly identical to zooming and scrolling of a cartesian chart.
    The main difference is that when scrolling along the X-axis (angular axis), the angle is used instead of the number of pixels.
    Another difference is that zooming to a rectangle cannot be done.

    \snippet polarchart/chartview.cpp 1

    The same axes and series can be used in both cartesian and polar charts, though not simultaneously.
    To switch between chart types, you first need to remove the series and axes from the old chart, and then add
    them to the new chart. If you want to preserve the axis ranges, those need to be copied, too.

    \snippet polarchart/chartview.cpp 2

*/