QwtPlotMultiBarChart Class Reference

QwtPlotMultiBarChart displays a series of a samples that consist each of a set of values. More...

`#include <qwt_plot_multi_barchart.h>`

Inheritance diagram for QwtPlotMultiBarChart:

## Public Types

enum | ChartStyle { Grouped , Stacked }
| Chart styles. More...
Public Types inherited from QwtPlotAbstractBarChart
enum | LayoutPolicy { AutoAdjustSamples , ScaleSamplesToAxes , ScaleSampleToCanvas , FixedSampleSize }
| Mode how to calculate the bar width. More...
Public Types inherited from QwtPlotItem

enum

RttiValues {
Rtti_PlotItem = 0 , Rtti_PlotGrid , Rtti_PlotScale , Rtti_PlotLegend ,
Rtti_PlotMarker , Rtti_PlotCurve , Rtti_PlotSpectroCurve , Rtti_PlotIntervalCurve ,
Rtti_PlotHistogram , Rtti_PlotSpectrogram , Rtti_PlotGraphic , Rtti_PlotTradingCurve ,
Rtti_PlotBarChart , Rtti_PlotMultiBarChart , Rtti_PlotShape , Rtti_PlotTextLabel ,
Rtti_PlotZone , Rtti_PlotVectorField , Rtti_PlotUserItem = 1000
}

| Runtime type information. More...
enum | ItemAttribute { Legend = 0x01 , AutoScale = 0x02 , Margins = 0x04 }
| Plot Item Attributes. More...
enum | ItemInterest { ScaleInterest = 0x01 , LegendInterest = 0x02 }
| Plot Item Interests. More...
enum | RenderHint { RenderAntialiased = 0x1 }
| Render hints. More...
typedef QFlags< ItemAttribute > | ItemAttributes
typedef QFlags< ItemInterest > | ItemInterests
typedef QFlags< RenderHint > | RenderHints

## Public Member Functions

| QwtPlotMultiBarChart (const QString &title=QString())
| QwtPlotMultiBarChart (const QwtText &title)
virtual | ~QwtPlotMultiBarChart ()
| Destructor.
virtual int | rtti () const override
void | setBarTitles (const QList< QwtText > &)
| Set the titles for the bars. More...
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 valueIndex, QwtColumnSymbol *)
| Add a symbol to the symbol map. More...
const QwtColumnSymbol * | symbol (int valueIndex) const
void | resetSymbolMap ()
virtual void | drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const override
virtual QRectF | boundingRect () const override
virtual QList< QwtLegendData > | legendData () const override
virtual QwtGraphic | legendIcon (int index, const QSizeF &) const override
Public Member Functions inherited from QwtPlotAbstractBarChart
| QwtPlotAbstractBarChart (const QwtText &title)
virtual | ~QwtPlotAbstractBarChart ()
| Destructor.
void | setLayoutPolicy (LayoutPolicy)
LayoutPolicy | layoutPolicy () const
void | setLayoutHint (double)
double | layoutHint () const
void | setSpacing (int)
| Set the spacing. More...
int | spacing () const
void | setMargin (int)
| Set the margin. More...
int | margin () const
void | setBaseline (double)
| Set the baseline. More...
double | baseline () const
virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const override
| Calculate a hint for the canvas margin. More...
Public Member Functions inherited from QwtPlotSeriesItem
| QwtPlotSeriesItem (const QString &title=QString())
| QwtPlotSeriesItem (const QwtText &title)
virtual | ~QwtPlotSeriesItem ()
| Destructor.
void | setOrientation (Qt::Orientation)
Qt::Orientation | orientation () const
virtual void | draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override
| Draw the complete series. More...
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) override
| Update the item to changes of the axes scale division. More...
Public Member Functions inherited from QwtPlotItem
| QwtPlotItem ()
| QwtPlotItem (const QString &title)
| QwtPlotItem (const QwtText &title)
virtual | ~QwtPlotItem ()
| Destroy the QwtPlotItem.
void | attach (QwtPlot *plot)
| Attach the item to a plot. More...
void | detach ()
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
QwtPlot * | plot () const
| Return attached plot.
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
const QwtText & | title () const
void | setItemAttribute (ItemAttribute, bool on=true)
bool | testItemAttribute (ItemAttribute) const
void | setItemInterest (ItemInterest, bool on=true)
bool | testItemInterest (ItemInterest) const
void | setRenderHint (RenderHint, bool on=true)
bool | testRenderHint (RenderHint) const
void | setRenderThreadCount (uint numThreads)
uint | renderThreadCount () const
void | setLegendIconSize (const QSize &)
QSize | legendIconSize () const
double | z () const
void | setZ (double z)
| Set the z value. More...
void | show ()
| Show the item.
void | hide ()
| Hide the item.
virtual void | setVisible (bool)
bool | isVisible () const
void | setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
void | setXAxis (QwtAxisId)
QwtAxisId | xAxis () const
| Return xAxis.
void | setYAxis (QwtAxisId)
QwtAxisId | yAxis () const
| Return yAxis.
virtual void | itemChanged ()
virtual void | legendChanged ()
virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
| Update the item to changes of the legend info. More...
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding scale rectangle of 2 maps. More...
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding paint rectangle of 2 maps. More...
Public Member Functions inherited from QwtAbstractSeriesStore
virtual | ~QwtAbstractSeriesStore ()
| Destructor.
Public Member Functions inherited from QwtSeriesStore< QwtSetSample >
| QwtSeriesStore ()
| Constructor The store contains no series.
| ~QwtSeriesStore ()
| Destructor.
void | setData (QwtSeriesData< QwtSetSample > *series)
QwtSeriesData< QwtSetSample > * | data ()
const QwtSeriesData< QwtSetSample > * | data () const
QwtSetSample | sample (int index) const
virtual size_t | dataSize () const override
virtual QRectF | dataRect () const override
virtual void | setRectOfInterest (const QRectF &rect) override
QwtSeriesData< QwtSetSample > * | swapData (QwtSeriesData< QwtSetSample > *series)

## Protected Member Functions

QwtColumnSymbol * | symbol (int valueIndex)
virtual QwtColumnSymbol * | specialSymbol (int sampleIndex, int valueIndex) const
| Create a symbol for special values. More...
virtual void | drawSample (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, const QwtInterval &boundingInterval, int index, const QwtSetSample &) const
virtual void | drawBar (QPainter *, int sampleIndex, int valueIndex, const QwtColumnRect &) const
void | drawStackedBars (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int index, double sampleWidth, const QwtSetSample &) const
void | drawGroupedBars (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int index, double sampleWidth, const QwtSetSample &) const
Protected Member Functions inherited from QwtPlotAbstractBarChart
double | sampleWidth (const QwtScaleMap &map, double canvasSize, double boundingSize, double value) const
Protected Member Functions inherited from QwtPlotSeriesItem
virtual void | dataChanged () override
| dataChanged() indicates, that the series has been changed.
Protected Member Functions inherited from QwtPlotItem
QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const
| Return a default icon from a brush. More...

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

Definition at line 41 of file qwt_plot_multi_barchart.h.

## Member Enumeration Documentation

## ChartStyle

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.

Definition at line 52 of file qwt_plot_multi_barchart.h.

## Constructor & Destructor Documentation

## QwtPlotMultiBarChart() [1/2]

QwtPlotMultiBarChart::QwtPlotMultiBarChart | ( | const QString & | title = `QString()` | ) |

explicit

Constructor

Parameters

  title | Title of the chart

Definition at line 62 of file qwt_plot_multi_barchart.cpp.

## QwtPlotMultiBarChart() [2/2]

QwtPlotMultiBarChart::QwtPlotMultiBarChart | ( | const QwtText & | title | ) |

explicit

Constructor

Parameters

  title | Title of the chart

Definition at line 52 of file qwt_plot_multi_barchart.cpp.

## Member Function Documentation

## barTitles()

QList< QwtText > QwtPlotMultiBarChart::barTitles | ( |  | ) | const

Returns
  Bar titles

See also
  setBarTitles(), legendData()

Definition at line 148 of file qwt_plot_multi_barchart.cpp.

## boundingRect()

QRectF QwtPlotMultiBarChart::boundingRect | ( |  | ) | const

override virtual

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

Reimplemented from QwtPlotSeriesItem.

Definition at line 302 of file qwt_plot_multi_barchart.cpp.

## drawBar()

void QwtPlotMultiBarChart::drawBar | ( | QPainter * | painter,
|  | int | sampleIndex,
|  | int | valueIndex,
|  | 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()

Definition at line 652 of file qwt_plot_multi_barchart.cpp.

## drawGroupedBars()

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

Parameters

  painter | Painter
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  index | Index of the sample to be painted
  sampleWidth | Bounding width for all bars of the sample
  sample | Sample

See also
  drawSeries(), sampleWidth()

Definition at line 461 of file qwt_plot_multi_barchart.cpp.

## drawSample()

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

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

Definition at line 415 of file qwt_plot_multi_barchart.cpp.

## drawSeries()

void QwtPlotMultiBarChart::drawSeries | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to
| ) |  | const

override 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.

Definition at line 374 of file qwt_plot_multi_barchart.cpp.

## drawStackedBars()

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

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

Definition at line 541 of file qwt_plot_multi_barchart.cpp.

## legendData()

QList< QwtLegendData > QwtPlotMultiBarChart::legendData | ( |  | ) | const

override 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.

Definition at line 687 of file qwt_plot_multi_barchart.cpp.

## legendIcon()

QwtGraphic QwtPlotMultiBarChart::legendIcon | ( | int | index,
|  | const QSizeF & | size
| ) |  | const

override 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.

Definition at line 720 of file qwt_plot_multi_barchart.cpp.

## resetSymbolMap()

void QwtPlotMultiBarChart::resetSymbolMap | ( |  | ) |

Remove all symbols from the symbol map

Definition at line 237 of file qwt_plot_multi_barchart.cpp.

## rtti()

int QwtPlotMultiBarChart::rtti | ( |  | ) | const

override virtual

Returns
  QwtPlotItem::Rtti_PlotBarChart

Reimplemented from QwtPlotItem.

Definition at line 82 of file qwt_plot_multi_barchart.cpp.

## setBarTitles()

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

Definition at line 138 of file qwt_plot_multi_barchart.cpp.

## setSamples() [1/3]

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

Initialize data with an array of samples.

Parameters

  samples | Vector of points

Definition at line 101 of file qwt_plot_multi_barchart.cpp.

## setSamples() [2/3]

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

Initialize data with an array of samples.

Parameters

  samples | Vector of points

Definition at line 91 of file qwt_plot_multi_barchart.cpp.

## setSamples() [3/3]

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.

Definition at line 123 of file qwt_plot_multi_barchart.cpp.

## setStyle()

void QwtPlotMultiBarChart::setStyle | ( | ChartStyle | style | ) |

Set the style of the chart

Parameters

  style | Chart style

See also
  style()

Definition at line 278 of file qwt_plot_multi_barchart.cpp.

## setSymbol()

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.

Parameters

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

See also
  symbol(), resetSymbolMap(), specialSymbol()

Definition at line 164 of file qwt_plot_multi_barchart.cpp.

## specialSymbol()

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.

Parameters

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

Returns
  NULL, meaning that the value is not special

Definition at line 263 of file qwt_plot_multi_barchart.cpp.

## style()

QwtPlotMultiBarChart::ChartStyle QwtPlotMultiBarChart::style | ( |  | ) | const

Returns
  Style of the chart

See also
  setStyle()

Definition at line 293 of file qwt_plot_multi_barchart.cpp.

## symbol() [1/2]

QwtColumnSymbol * QwtPlotMultiBarChart::symbol | ( | int | valueIndex | ) |

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

Definition at line 226 of file qwt_plot_multi_barchart.cpp.

## symbol() [2/2]

const QwtColumnSymbol * QwtPlotMultiBarChart::symbol | ( | int | valueIndex | ) | 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()

Definition at line 210 of file qwt_plot_multi_barchart.cpp.