Qwt User's Guide
|
QwtPlotBarChart displays a series of a values as bars. More...
#include <qwt_plot_barchart.h>
Public Types | |
enum | LegendMode { LegendChartTitle, LegendBarTitles } |
Legend modes. More... | |
Public Member Functions | |
QwtPlotBarChart (const QString &title=QString::null) | |
QwtPlotBarChart (const QwtText &title) | |
virtual | ~QwtPlotBarChart () |
Destructor. | |
virtual int | rtti () const |
void | setSamples (const QVector< QPointF > &) |
void | setSamples (const QVector< double > &) |
void | setSamples (QwtSeriesData< QPointF > *series) |
void | setSymbol (QwtColumnSymbol *) |
Assign a symbol. | |
const QwtColumnSymbol * | symbol () const |
void | setLegendMode (LegendMode) |
LegendMode | legendMode () const |
virtual void | drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const |
virtual QRectF | boundingRect () const |
virtual QwtColumnSymbol * | specialSymbol (int sampleIndex, const QPointF &) const |
virtual QwtText | barTitle (int sampleIndex) const |
Return the title of a bar. | |
Protected Member Functions | |
virtual void | drawSample (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, const QwtInterval &boundingInterval, int index, const QPointF &sample) const |
virtual void | drawBar (QPainter *, int sampleIndex, const QPointF &point, const QwtColumnRect &) const |
QList< QwtLegendData > | legendData () const |
Return all information, that is needed to represent the item on the legend. | |
QwtGraphic | legendIcon (int index, const QSizeF &) const |
QwtPlotBarChart displays a series of a values as bars.
Each bar might be customized individually by implementing a specialSymbol(). Otherwise it is rendered using a default symbol.
Depending on its orientation() the bars are displayed horizontally or vertically. The bars cover the interval between the baseline() and the value.
By activating the LegendBarTitles mode each sample will have its own entry on the legend.
The most common use case of a bar chart is to display a list of y coordinates, where the x coordinate is simply the index in the list. But for other situations ( f.e. when values are related to dates ) it is also possible to set x coordinates explicitly.
Legend modes.
The default setting is QwtPlotBarChart::LegendChartTitle.
LegendChartTitle |
One entry on the legend showing the default symbol and the title() of the chart
|
LegendBarTitles |
One entry for each value showing the individual symbol of the corresponding bar and the bar title.
|
QwtPlotBarChart::QwtPlotBarChart | ( | const QString & | title = QString::null | ) | [explicit] |
Constructor
title | Title of the curve |
QwtPlotBarChart::QwtPlotBarChart | ( | const QwtText & | title | ) | [explicit] |
Constructor
title | Title of the curve |
QwtText QwtPlotBarChart::barTitle | ( | int | sampleIndex | ) | const [virtual] |
Return the title of a bar.
In LegendBarTitles mode the title is displayed on the legend entry corresponding to a bar.
The default implementation is a dummy, that is intended to be overloaded.
sampleIndex | Index of the bar |
QRectF QwtPlotBarChart::boundingRect | ( | ) | const [virtual] |
Reimplemented from QwtPlotSeriesItem.
void QwtPlotBarChart::drawBar | ( | QPainter * | painter, |
int | sampleIndex, | ||
const QPointF & | sample, | ||
const QwtColumnRect & | rect | ||
) | const [protected, virtual] |
Draw a bar
painter | Painter |
sampleIndex | Index of the sample represented by the bar |
sample | Value of the sample |
rect | Bounding rectangle of the bar |
void QwtPlotBarChart::drawSample | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
const QRectF & | canvasRect, | ||
const QwtInterval & | boundingInterval, | ||
int | index, | ||
const QPointF & | sample | ||
) | const [protected, virtual] |
Draw a sample
painter | Painter |
xMap | x map |
yMap | y map |
canvasRect | Contents rect of the canvas |
boundingInterval | Bounding interval of sample values |
index | Index of the sample |
sample | Value of the sample |
void QwtPlotBarChart::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 rect 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.
QList< QwtLegendData > QwtPlotBarChart::legendData | ( | ) | const [protected, virtual] |
Return all information, that is needed to represent the item on the legend.
In case of LegendBarTitles an entry for each bar is returned, otherwise the chart is represented like any other plot item from its title() and the legendIcon().
Reimplemented from QwtPlotItem.
QwtGraphic QwtPlotBarChart::legendIcon | ( | int | index, |
const QSizeF & | size | ||
) | const [protected, virtual] |
When the legendMode() is LegendBarTitles the icon shows the bar corresponding to index - otherwise the bar displays the default symbol.
index | Index of the legend entry |
size | Icon size |
Reimplemented from QwtPlotItem.
int QwtPlotBarChart::rtti | ( | ) | const [virtual] |
Reimplemented from QwtPlotItem.
void QwtPlotBarChart::setLegendMode | ( | LegendMode | mode | ) |
Set the mode that decides what to display on the legend
In case of LegendBarTitles barTitle() needs to be overloaded to return individual titles for each bar.
mode | New mode |
void QwtPlotBarChart::setSamples | ( | const QVector< QPointF > & | samples | ) |
Initialize data with an array of points
samples | Vector of points |
void QwtPlotBarChart::setSamples | ( | const QVector< double > & | samples | ) |
Initialize data with an array of doubles
The indices in the array are taken as x coordinate, while the doubles are interpreted as y values.
samples | Vector of y coordinates |
void QwtPlotBarChart::setSamples | ( | QwtSeriesData< QPointF > * | 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 QwtPlotBarChart::setSymbol | ( | QwtColumnSymbol * | symbol | ) |
Assign a symbol.
The bar chart will take the ownership of the symbol, hence the previously set symbol will be delete by setting a new one. If symbol
is NULL
no symbol will be drawn.
symbol | Symbol |
QwtColumnSymbol * QwtPlotBarChart::specialSymbol | ( | int | sampleIndex, |
const QPointF & | sample | ||
) | const [virtual] |
Needs to be overloaded to return a non default symbol for a specific sample
sampleIndex | Index of the sample represented by the bar |
sample | Value of the sample |
const QwtColumnSymbol * QwtPlotBarChart::symbol | ( | ) | const |