QwtPlotMultiBarChart(3) QwtPlotMultiBarChart displays a series of a samples that consist each of a set of values.

SYNOPSIS


#include <qwt_plot_multi_barchart.h>

Inherits QwtPlotAbstractBarChart, and QwtSeriesStore< QwtSetSample >.

Public Types


enum ChartStyle { Grouped, Stacked }
Chart styles.

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

Detailed Description

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.

See Also:

QwtPlotBarChart, QwtPlotHistogram QwtPlotSeriesItem::orientation(), QwtPlotAbstractBarChart::baseline()

Member Enumeration Documentation

enum QwtPlotMultiBarChart::ChartStyle

Chart styles. The default setting is QwtPlotMultiBarChart::Grouped.

See Also:

setStyle(), style()

Enumerator

Grouped
The bars of a set are displayed side by side.
Stacked
The bars are displayed on top of each other accumulating to a single bar. All values of a set need to have the same sign.

Constructor & Destructor Documentation

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

Constructor

Parameters:

title Title of the chart

QwtPlotMultiBarChart::QwtPlotMultiBarChart (const QwtText &title) [explicit]

Constructor

Parameters:

title Title of the chart

Member Function Documentation

QList< QwtText > QwtPlotMultiBarChart::barTitles () const

Returns:

Bar titles

See Also:

setBarTitles(), legendData()

QRectF QwtPlotMultiBarChart::boundingRect () const [virtual]

Returns:

Bounding rectangle of all samples. For an empty series the rectangle is invalid.

Reimplemented from QwtPlotSeriesItem.

void QwtPlotMultiBarChart::drawBar (QPainter *painter, intsampleIndex, intvalueIndex, const QwtColumnRect &rect) const [protected], [virtual]

Draw a bar

Parameters:

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

See Also:

drawSeries()

void QwtPlotMultiBarChart::drawGroupedBars (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, intindex, doublesampleWidth, const QwtSetSample &sample) const [protected]

Draw a grouped sample

Parameters:

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

See Also:

drawSeries(), sampleWidth()

void QwtPlotMultiBarChart::drawSample (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, const QwtInterval &boundingInterval, intindex, const QwtSetSample &sample) const [protected], [virtual]

Draw a sample

Parameters:

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

See Also:

drawSeries()

void QwtPlotMultiBarChart::drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, intfrom, intto) const [virtual]

Draw an interval of the bar chart

Parameters:

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.

See Also:

drawSymbols()

Implements QwtPlotSeriesItem.

void QwtPlotMultiBarChart::drawStackedBars (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, intindex, doublesampleWidth, const QwtSetSample &sample) const [protected]

Draw a stacked sample

Parameters:

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

See Also:

drawSeries(), sampleWidth()

QList< QwtLegendData > QwtPlotMultiBarChart::legendData () const [virtual]

Returns:

Information to be displayed on the legend

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.

See Also:

barTitles(), legendIcon(), legendIconSize()

Reimplemented from QwtPlotItem.

QwtGraphic QwtPlotMultiBarChart::legendIcon (intindex, const QSizeF &size) const [virtual]

Returns:

Icon for representing a bar on the legend

Parameters:

index Index of the bar
size Icon size

Returns:

An icon showing a bar

See Also:

drawBar(), legendData()

Reimplemented from QwtPlotItem.

void QwtPlotMultiBarChart::resetSymbolMap ()

Remove all symbols from the symbol map

int QwtPlotMultiBarChart::rtti () const [virtual]

Returns:

QwtPlotItem::Rtti_PlotBarChart

Reimplemented from QwtPlotItem.

void QwtPlotMultiBarChart::setBarTitles (const QList< QwtText > &titles)

Set the titles for the bars. The titles are used for the legend.

Parameters:

titles Bar titles

See Also:

barTitles(), legendData()

void QwtPlotMultiBarChart::setSamples (const QVector< QwtSetSample > &samples)

Initialize data with an array of samples.

Parameters:

samples Vector of points

void QwtPlotMultiBarChart::setSamples (const QVector< QVector< double > > &samples)

Initialize data with an array of samples.

Parameters:

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.

Parameters:

data Data

Warning:

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

void QwtPlotMultiBarChart::setStyle (ChartStylestyle)

Set the style of the chart

Parameters:

style Chart style

See Also:

style()

void QwtPlotMultiBarChart::setSymbol (intvalueIndex, 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.

Parameters:

valueIndex Index of a value in a set
symbol Symbol used for drawing a bar

See Also:

symbol(), resetSymbolMap(), specialSymbol()

QwtColumnSymbol * QwtPlotMultiBarChart::specialSymbol (intsampleIndex, intvalueIndex) 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.

Parameters:

sampleIndex Index of the sample
valueIndex Index of the value in the set

Returns:

NULL, meaning that the value is not special

QwtPlotMultiBarChart::ChartStyle QwtPlotMultiBarChart::style () const

Returns:

Style of the chart

See Also:

setStyle()

const QwtColumnSymbol * QwtPlotMultiBarChart::symbol (intvalueIndex) const

Find a symbol in the symbol map

Parameters:

valueIndex Index of a value in a set

Returns:

The symbol, that had been set by setSymbol() or NULL.

See Also:

setSymbol(), specialSymbol(), drawBar()

QwtColumnSymbol * QwtPlotMultiBarChart::symbol (intvalueIndex) [protected]

Find a symbol in the symbol map

Parameters:

valueIndex Index of a value in a set

Returns:

The symbol, that had been set by setSymbol() or NULL.

See Also:

setSymbol(), specialSymbol(), drawBar()

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.