• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

LICENSES/H03-May-2022-

autotests/H03-May-2022-778563

controls/H03-May-2022-651486

docs/H04-Dec-2021-21

examples/H03-May-2022-1,083896

scripts/H04-Dec-2021-6148

src/H03-May-2022-8,6265,990

.arcconfigH A D04-Dec-202157 43

.git-blame-ignore-revsH A D04-Dec-202153 32

.gitignoreH A D04-Dec-202198 109

.gitlab-ci.ymlH A D04-Dec-2021373 86

.kde-ci.ymlH A D04-Dec-2021131 86

KF5QuickChartsConfig.cmake.inH A D04-Dec-2021192 85

README.mdH A D04-Dec-20213 KiB8560

metainfo.yamlH A D04-Dec-2021351 1918

README.md

1# KQuickCharts
2
3A QtQuick module providing high-performance charts.
4
5## Introduction
6
7The Quick Charts module provides a set of charts that can be used from QtQuick
8applications. They are intended to be used for both simple display of data as
9well as continuous display of high-volume data (often referred to as plotters).
10The charts use a system called distance fields for their accelerated rendering,
11which provides ways of using the GPU for rendering 2D shapes without loss of
12quality.
13
14### Usage Example
15
16The following piece of code will render a simple line chart containing three
17lines:
18
19\snippet snippets/minimal.qml example
20
21## Concepts
22
23There are three main concepts to consider when using this module: charts, data
24sources and decorations.
25
26### Charts
27
28These are the main items of the module. They process data and render it in a
29certain way. Currently there are three main types of charts: pie charts, line
30charts and bar charts. All charts inherit the [Chart] class, which provides the
31most basic chart interface. On top of that is the [XYChart] base class, which
32provides an interface for charts that are based on an X/Y grid.
33
34* [PieChart](\ref PieChart)
35* [LineChart](\ref LineChart)
36* [BarChart](\ref BarChart)
37
38[Chart]: \ref Chart
39[XYChart]: \ref XYChart
40
41### Data Sources
42
43Data sources are objects that provide data to charts. These objects act as
44adapters to other objects, like Qt's models. All data source objects inherit
45[ChartDataSource], which represents the basic data source interface.
46
47* [SingleValueSource](\ref SingleValueSource)
48* [ArraySource](\ref ArraySource)
49* [ModelSource](\ref ModelSource)
50* [ValueHistorySource](\ref ValueHistorySource)
51* [ModelHistorySource](\ref ModelHistorySource)
52* [ColorGradientSource](\ref ColorGradientSource)
53* [ChartAxisSource](\ref ChartAxisSource)
54
55[ChartDataSource]: \ref ChartDataSource
56
57### Decorations
58
59Decorations are items that provide extra information about a chart. These are
60things like a legend or axis labels. They usually work with multiple types of
61charts, though some may be limited to X/Y charts.
62
63* [AxisLabels](\ref AxisLabels)
64* [GridLines](\ref GridLines)
65* [LegendModel](\ref LegendModel)
66
67## Controls
68
69A submodule is provided that contains pre-made controls that are provided as a
70convenience layer. These controls may be more restrictive in their data sources
71or how they display things. They are composed of Charts items along with some
72QtQuick Controls items. Some of the controls may use style-specific theming.
73
74* [Legend](\ref org::kde::quickcharts::controls::Legend)
75* [LegendDelegate](\ref org::kde::quickcharts::controls::LegendDelegate)
76* [LineChartControl](\ref org::kde::quickcharts::controls::LineChartControl)
77* [PieChartControl](\ref org::kde::quickcharts::controls::PieChartControl)
78
79## Supporting Code
80
81There are a number of classes and other pieces of code that are not considered
82public API and thus not part of the public API documentation. Primarily, these
83are all the QtQuick Scene Graph related classes located in `src/scenegraph/`,
84in addition to the shaders that are used for rendering charts.
85