Warning, /frameworks/kquickcharts/README.md is written in an unsupported language. File is not indexed.

0001 # KQuickCharts
0002 
0003 A QtQuick module providing high-performance charts.
0004 
0005 ## Introduction
0006 
0007 The Quick Charts module provides a set of charts that can be used from QtQuick
0008 applications. They are intended to be used for both simple display of data as
0009 well as continuous display of high-volume data (often referred to as plotters).
0010 The charts use a system called distance fields for their accelerated rendering,
0011 which provides ways of using the GPU for rendering 2D shapes without loss of
0012 quality.
0013 
0014 ### Usage Example
0015 
0016 The following piece of code will render a simple line chart containing three
0017 lines:
0018 
0019 \snippet snippets/minimal.qml example
0020 
0021 ## Concepts
0022 
0023 There are three main concepts to consider when using this module: charts, data
0024 sources and decorations.
0025 
0026 ### Charts
0027 
0028 These are the main items of the module. They process data and render it in a
0029 certain way. Currently there are three main types of charts: pie charts, line
0030 charts and bar charts. All charts inherit the [Chart] class, which provides the
0031 most basic chart interface. On top of that is the [XYChart] base class, which
0032 provides an interface for charts that are based on an X/Y grid.
0033 
0034 * [PieChart](\ref PieChart)
0035 * [LineChart](\ref LineChart)
0036 * [BarChart](\ref BarChart)
0037 
0038 [Chart]: \ref Chart
0039 [XYChart]: \ref XYChart
0040 
0041 ### Data Sources
0042 
0043 Data sources are objects that provide data to charts. These objects act as
0044 adapters to other objects, like Qt's models. All data source objects inherit
0045 [ChartDataSource], which represents the basic data source interface.
0046 
0047 * [SingleValueSource](\ref SingleValueSource)
0048 * [ArraySource](\ref ArraySource)
0049 * [ModelSource](\ref ModelSource)
0050 * [ValueHistorySource](\ref ValueHistorySource)
0051 * [ModelHistorySource](\ref ModelHistorySource)
0052 * [ColorGradientSource](\ref ColorGradientSource)
0053 * [ChartAxisSource](\ref ChartAxisSource)
0054 
0055 [ChartDataSource]: \ref ChartDataSource
0056 
0057 ### Decorations
0058 
0059 Decorations are items that provide extra information about a chart. These are
0060 things like a legend or axis labels. They usually work with multiple types of
0061 charts, though some may be limited to X/Y charts.
0062 
0063 * [AxisLabels](\ref AxisLabels)
0064 * [GridLines](\ref GridLines)
0065 * [LegendModel](\ref LegendModel)
0066 
0067 ## Controls
0068 
0069 A submodule is provided that contains pre-made controls that are provided as a
0070 convenience layer. These controls may be more restrictive in their data sources
0071 or how they display things. They are composed of Charts items along with some
0072 QtQuick Controls items. Some of the controls may use style-specific theming.
0073 
0074 * [Legend](\ref org::kde::quickcharts::controls::Legend)
0075 * [LegendDelegate](\ref org::kde::quickcharts::controls::LegendDelegate)
0076 * [LineChartControl](\ref org::kde::quickcharts::controls::LineChartControl)
0077 * [PieChartControl](\ref org::kde::quickcharts::controls::PieChartControl)
0078 
0079 ## Supporting Code
0080 
0081 There are a number of classes and other pieces of code that are not considered
0082 public API and thus not part of the public API documentation. Primarily, these
0083 are all the QtQuick Scene Graph related classes located in `src/scenegraph/`,
0084 in addition to the shaders that are used for rendering charts.