Qwt User's Guide
QwtPlotBarChart Class Reference

QwtPlotBarChart displays a series of a values as bars. More...

#include <qwt_plot_barchart.h>

Inheritance diagram for QwtPlotBarChart:

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 QwtColumnSymbolsymbol () 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 QwtColumnSymbolspecialSymbol (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< QwtLegendDatalegendData () const
 Return all information, that is needed to represent the item on the legend.
QwtGraphic legendIcon (int index, const QSizeF &) const

Detailed Description

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.

See also:
QwtPlotMultiBarChart, QwtPlotHistogram, QwtPlotCurve::Sticks, QwtPlotSeriesItem::orientation(), QwtPlotAbstractBarChart::baseline()

Member Enumeration Documentation

Legend modes.

The default setting is QwtPlotBarChart::LegendChartTitle.

See also:
setLegendMode(), legendMode()
Enumerator:
LegendChartTitle 

One entry on the legend showing the default symbol and the title() of the chart

See also:
QwtPlotItem::title()
LegendBarTitles 

One entry for each value showing the individual symbol of the corresponding bar and the bar title.

See also:
specialSymbol(), barTitle()

Constructor & Destructor Documentation

QwtPlotBarChart::QwtPlotBarChart ( const QString &  title = QString::null) [explicit]

Constructor

Parameters:
titleTitle of the curve
QwtPlotBarChart::QwtPlotBarChart ( const QwtText title) [explicit]

Constructor

Parameters:
titleTitle of the curve

Member Function Documentation

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.

Parameters:
sampleIndexIndex of the bar
Returns:
An empty text
See also:
LegendBarTitles
QRectF QwtPlotBarChart::boundingRect ( ) const [virtual]
Returns:
Bounding rectangle of all samples. For an empty series the rectangle is invalid.

Reimplemented from QwtPlotSeriesItem.

void QwtPlotBarChart::drawBar ( QPainter *  painter,
int  sampleIndex,
const QPointF &  sample,
const QwtColumnRect rect 
) const [protected, virtual]

Draw a bar

Parameters:
painterPainter
sampleIndexIndex of the sample represented by the bar
sampleValue of the sample
rectBounding 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

Parameters:
painterPainter
xMapx map
yMapy map
canvasRectContents rect of the canvas
boundingIntervalBounding interval of sample values
indexIndex of the sample
sampleValue of the sample
See also:
drawSeries()
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

Parameters:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rect of the canvas
fromIndex of the first point to be painted
toIndex of the last point to be painted. If to < 0 the curve will be painted to its last point.
See also:
drawSymbols()

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().

Returns:
Information, that is needed to represent the item on the legend
See also:
title(), setLegendMode(), barTitle(), QwtLegend, QwtPlotLegendItem

Reimplemented from QwtPlotItem.

QwtGraphic QwtPlotBarChart::legendIcon ( int  index,
const QSizeF &  size 
) const [protected, virtual]
Returns:
Icon representing a bar or the chart on the legend

When the legendMode() is LegendBarTitles the icon shows the bar corresponding to index - otherwise the bar displays the default symbol.

Parameters:
indexIndex of the legend entry
sizeIcon size
See also:
setLegendMode(), drawBar(), QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()

Reimplemented from QwtPlotItem.

int QwtPlotBarChart::rtti ( ) const [virtual]
Returns:
QwtPlotItem::Rtti_PlotBarChart

Reimplemented from QwtPlotItem.

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.

Parameters:
modeNew mode
See also:
legendMode(), legendData(), barTitle(), QwtPlotItem::ItemAttribute
void QwtPlotBarChart::setSamples ( const QVector< QPointF > &  samples)

Initialize data with an array of points

Parameters:
samplesVector of points
Note:
QVector is implicitly shared
QPolygonF is derived from QVector<QPointF>
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.

Parameters:
samplesVector of y coordinates
Note:
QVector is implicitly shared
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.

Parameters:
dataData
Warning:
The item takes ownership of the data object, deleting it when its not used anymore.

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.

Parameters:
symbolSymbol
See also:
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

Parameters:
sampleIndexIndex of the sample represented by the bar
sampleValue of the sample
Returns:
NULL, indicating to use the default symbol
Returns:
Current symbol or NULL, when no symbol has been assigned
See also:
setSymbol()

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator