Qwt User's Guide
|
QwtPlotMultiBarChart displays a series of a samples that consist each of a set of values. More...
#include <qwt_plot_multi_barchart.h>
Public Types | |
enum | ChartStyle { Grouped, Stacked } |
Chart styles. More... | |
Public Member Functions | |
QwtPlotMultiBarChart (const QString &title=QString::null) | |
QwtPlotMultiBarChart (const QwtText &title) | |
virtual | ~QwtPlotMultiBarChart () |
Destructor. | |
virtual int | rtti () const |
void | setBarTitles (const QList< QwtText > &) |
Set the titles for the bars. | |
QList< QwtText > | barTitles () const |
void | setSamples (const QVector< QwtSetSample > &) |
void | setSamples (const QVector< QVector< double > > &) |
void | setSamples (QwtSeriesData< QwtSetSample > *) |
void | setStyle (ChartStyle style) |
ChartStyle | style () const |
void | setSymbol (int barIndex, QwtColumnSymbol *symbol) |
Add a symbol to the symbol map. | |
const QwtColumnSymbol * | symbol (int barIndex) const |
void | resetSymbolMap () |
virtual void | drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const |
virtual QRectF | boundingRect () const |
virtual QList< QwtLegendData > | legendData () const |
virtual QwtGraphic | legendIcon (int index, const QSizeF &) const |
Protected Member Functions | |
QwtColumnSymbol * | symbol (int barIndex) |
virtual QwtColumnSymbol * | specialSymbol (int sampleIndex, int valueIndex) const |
Create a symbol for special values. | |
virtual void | drawSample (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, const QwtInterval &boundingInterval, int index, const QwtSetSample &sample) const |
virtual void | drawBar (QPainter *, int sampleIndex, int barIndex, const QwtColumnRect &) const |
void | drawStackedBars (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int index, double sampleWidth, const QwtSetSample &sample) const |
void | drawGroupedBars (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int index, double sampleWidth, const QwtSetSample &sample) const |
QwtPlotMultiBarChart displays a series of a samples that consist each of a set of values.
Each value is displayed as a bar, the bars of each set can be organized side by side or accumulated.
Each bar of a set is rendered by a QwtColumnSymbol, that is set by setSymbol(). The bars of different sets use the same symbols. Exceptions are possible by overloading specialSymbol() or overloading drawBar().
Depending on its orientation() the bars are displayed horizontally or vertically. The bars cover the interval between the baseline() and the value.
In opposite to most other plot items, QwtPlotMultiBarChart returns more than one entry for the legend - one for each symbol.
QwtPlotMultiBarChart::QwtPlotMultiBarChart | ( | const QString & | title = QString::null | ) | [explicit] |
Constructor
title | Title of the chart |
QwtPlotMultiBarChart::QwtPlotMultiBarChart | ( | const QwtText & | title | ) | [explicit] |
Constructor
title | Title of the chart |
QList< QwtText > QwtPlotMultiBarChart::barTitles | ( | ) | const |
QRectF QwtPlotMultiBarChart::boundingRect | ( | ) | const [virtual] |
Reimplemented from QwtPlotSeriesItem.
void QwtPlotMultiBarChart::drawBar | ( | QPainter * | painter, |
int | sampleIndex, | ||
int | valueIndex, | ||
const QwtColumnRect & | rect | ||
) | const [protected, virtual] |
Draw a bar
painter | Painter |
sampleIndex | Index of the sample - might be -1 when the bar is painted for the legend |
valueIndex | Index of a value in a set |
rect | Directed target rectangle for the bar |
void QwtPlotMultiBarChart::drawGroupedBars | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
const QRectF & | canvasRect, | ||
int | index, | ||
double | sampleWidth, | ||
const QwtSetSample & | sample | ||
) | const [protected] |
Draw a grouped sample
painter | Painter |
xMap | x map |
yMap | y map |
canvasRect | Contents rectangle of the canvas |
index | Index of the sample to be painted |
sampleWidth | Boundng width for all bars of the smaple |
sample | Sample |
void QwtPlotMultiBarChart::drawSample | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
const QRectF & | canvasRect, | ||
const QwtInterval & | boundingInterval, | ||
int | index, | ||
const QwtSetSample & | sample | ||
) | const [protected, virtual] |
Draw a sample
painter | Painter |
xMap | x map |
yMap | y map |
canvasRect | Contents rectangle of the canvas |
boundingInterval | Bounding interval of sample values |
index | Index of the sample to be painted |
sample | Sample value |
void QwtPlotMultiBarChart::drawSeries | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
const QRectF & | canvasRect, | ||
int | from, | ||
int | to | ||
) | const [virtual] |
Draw an interval of the bar chart
painter | Painter |
xMap | Maps x-values into pixel coordinates. |
yMap | Maps y-values into pixel coordinates. |
canvasRect | Contents rectangle of the canvas |
from | Index of the first point to be painted |
to | Index of the last point to be painted. If to < 0 the curve will be painted to its last point. |
Implements QwtPlotSeriesItem.
void QwtPlotMultiBarChart::drawStackedBars | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
const QRectF & | canvasRect, | ||
int | index, | ||
double | sampleWidth, | ||
const QwtSetSample & | sample | ||
) | const [protected] |
Draw a stacked sample
painter | Painter |
xMap | x map |
yMap | y map |
canvasRect | Contents rectangle of the canvas |
index | Index of the sample to be painted |
sampleWidth | Width of the bars |
sample | Sample |
QList< QwtLegendData > QwtPlotMultiBarChart::legendData | ( | ) | const [virtual] |
The chart is represented by a list of entries - one for each bar title. Each element contains a bar title and an icon showing its corresponding bar.
Reimplemented from QwtPlotItem.
QwtGraphic QwtPlotMultiBarChart::legendIcon | ( | int | index, |
const QSizeF & | size | ||
) | const [virtual] |
index | Index of the bar |
size | Icon size |
Reimplemented from QwtPlotItem.
void QwtPlotMultiBarChart::resetSymbolMap | ( | ) |
Remove all symbols from the symbol map
int QwtPlotMultiBarChart::rtti | ( | ) | const [virtual] |
Reimplemented from QwtPlotItem.
void QwtPlotMultiBarChart::setBarTitles | ( | const QList< QwtText > & | titles | ) |
Set the titles for the bars.
The titles are used for the legend.
titles | Bar titles |
void QwtPlotMultiBarChart::setSamples | ( | const QVector< QwtSetSample > & | samples | ) |
Initialize data with an array of samples.
samples | Vector of points |
void QwtPlotMultiBarChart::setSamples | ( | const QVector< QVector< double > > & | samples | ) |
Initialize data with an array of samples.
samples | Vector of points |
void QwtPlotMultiBarChart::setSamples | ( | QwtSeriesData< QwtSetSample > * | data | ) |
Assign a series of samples
setSamples() is just a wrapper for setData() without any additional value - beside that it is easier to find for the developer.
data | Data |
void QwtPlotMultiBarChart::setStyle | ( | ChartStyle | style | ) |
void QwtPlotMultiBarChart::setSymbol | ( | int | valueIndex, |
QwtColumnSymbol * | symbol | ||
) |
Add a symbol to the symbol map.
Assign a default symbol for drawing the bar representing all values with the same index in a set.
valueIndex | Index of a value in a set |
symbol | Symbol used for drawing a bar |
QwtColumnSymbol * QwtPlotMultiBarChart::specialSymbol | ( | int | sampleIndex, |
int | valueIndex | ||
) | const [protected, virtual] |
Create a symbol for special values.
Usually the symbols for displaying a bar are set by setSymbols() and common for all sets. By overloading specialSymbol() it is possible to create a temporary symbol() for displaying a special value.
The symbol has to be created by new each time specialSymbol() is called. As soon as the symbol is painted this symbol gets deleted.
When no symbol ( NULL ) is returned, the value will be displayed with the standard symbol that is used for all symbols with the same valueIndex.
sampleIndex | Index of the sample |
valueIndex | Index of the value in the set |
const QwtColumnSymbol * QwtPlotMultiBarChart::symbol | ( | int | valueIndex | ) | const |
Find a symbol in the symbol map
valueIndex | Index of a value in a set |
QwtColumnSymbol * QwtPlotMultiBarChart::symbol | ( | int | valueIndex | ) | [protected] |
Find a symbol in the symbol map
valueIndex | Index of a value in a set |