QwtPlotBarChart Class Reference

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

`#include <qwt_plot_barchart.h>`

Inheritance diagram for QwtPlotBarChart:
[legend]

## Public Types

enum | LegendMode { LegendChartTitle, LegendBarTitles }
| Legend modes. 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_PlotSVG, Rtti_PlotTradingCurve, Rtti_PlotBarChart, Rtti_PlotMultiBarChart, Rtti_PlotShape, Rtti_PlotTextLabel, Rtti_PlotZone, 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
| Plot Item Attributes.
typedef QFlags< ItemInterest > | ItemInterests
| Plot Item Interests.
typedef QFlags< RenderHint > | RenderHints
| Render hints.

## Public Member Functions

| QwtPlotBarChart (const QString &title=QString())
| 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 > *)
void | setSymbol (QwtColumnSymbol *)
| Assign a symbol. More...
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. More...
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
| 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 &) const
| Draw the complete series. More...
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
| Update the item to changes of the axes scale division. More...
Public Member Functions inherited from QwtPlotItem
| QwtPlotItem (const QwtText &title=QwtText())
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 (int xAxis, int yAxis)
void | setXAxis (int axis)
int | xAxis () const
| Return xAxis.
void | setYAxis (int axis)
int | 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 QwtSeriesStore< QPointF >
| QwtSeriesStore ()
| Constructor The store contains no series.
| ~QwtSeriesStore ()
| Destructor.
void | setData (QwtSeriesData< QPointF > *series)
QwtSeriesData< QPointF > * | data ()
const QwtSeriesData< QPointF > * | data () const
QPointF | sample (int index) const
virtual size_t | dataSize () const
virtual QRectF | dataRect () const
virtual void | setRectOfInterest (const QRectF &rect)
QwtSeriesData< QPointF > * | swapData (QwtSeriesData< QPointF > *series)

## 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 &sample, const QwtColumnRect &) const
QList< QwtLegendData > | legendData () const
| Return all information, that is needed to represent the item on the legend. More...
QwtGraphic | legendIcon (int index, const QSizeF &) 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 ()
| 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...
Protected Member Functions inherited from QwtAbstractSeriesStore
virtual | ~QwtAbstractSeriesStore ()
| Destructor.
virtual QRectF | dataRect () const =0
virtual size_t | dataSize () const =0

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

## LegendMode

enum QwtPlotBarChart::LegendMode

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() [1/2]

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

explicit

Constructor

Parameters

  title | Title of the curve

## QwtPlotBarChart() [2/2]

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

explicit

Constructor

Parameters

  title | Title of the curve

## Member Function Documentation

## barTitle()

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

  sampleIndex | Index of the bar

Returns
  An empty text

See also
  LegendBarTitles

## boundingRect()

QRectF QwtPlotBarChart::boundingRect | ( |  | ) | const

virtual

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

Reimplemented from QwtPlotSeriesItem.

## drawBar()

void QwtPlotBarChart::drawBar | ( | QPainter * | painter,
|  | int | sampleIndex,
|  | const QPointF & | sample,
|  | const QwtColumnRect & | rect
| ) |  | const

protected virtual

Draw a bar

Parameters

  painter | Painter
  sampleIndex | Index of the sample represented by the bar
  sample | Value of the sample
  rect | Bounding rectangle of the bar

## drawSample()

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

  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

See also
  drawSeries()

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

  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.

See also
  drawSymbols()

Implements QwtPlotSeriesItem.

## legendData()

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.

## legendIcon()

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

  index | Index of the legend entry
  size | Icon size

See also
  setLegendMode(), drawBar(), QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()

Reimplemented from QwtPlotItem.

## legendMode()

QwtPlotBarChart::LegendMode QwtPlotBarChart::legendMode | ( |  | ) | const

Returns
  Legend mode

See also
  setLegendMode()

## rtti()

int QwtPlotBarChart::rtti | ( |  | ) | const

virtual

Returns
  QwtPlotItem::Rtti_PlotBarChart

Reimplemented from QwtPlotItem.

## setLegendMode()

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.

Parameters

  mode | New mode

See also
  legendMode(), legendData(), barTitle(), QwtPlotItem::ItemAttribute

## setSamples() [1/3]

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

  samples | Vector of y coordinates

Note
  QVector is implicitly shared

## setSamples() [2/3]

void QwtPlotBarChart::setSamples | ( | const QVector< QPointF > & | samples | ) |

Initialize data with an array of points

Parameters

  samples | Vector of points

Note
  QVector is implicitly shared
  QPolygonF is derived from QVector<QPointF>

## setSamples() [3/3]

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

  data | Data

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

## setSymbol()

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.

Parameters

  symbol | Symbol

See also
  symbol()

## specialSymbol()

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

  sampleIndex | Index of the sample represented by the bar
  sample | Value of the sample

Returns
  NULL, indicating to use the default symbol

## symbol()

const QwtColumnSymbol * QwtPlotBarChart::symbol | ( |  | ) | const

Returns
  Current symbol or NULL, when no symbol has been assigned

See also
  setSymbol()