Loading...
Searching...
No Matches
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 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

| QwtPlotBarChart (const QString &title=QString())
| QwtPlotBarChart (const QwtText &title)
virtual | ~QwtPlotBarChart ()
| Destructor.
virtual int | rtti () const override
void | setSamples (const QVector< QPointF > &)
void | setSamples (const QVector< double > &)
void | setSamples (QwtSeriesData< QPointF > *)
void | setSymbol (QwtColumnSymbol *)
| Assign a symbol.
const QwtColumnSymbol * | symbol () const
void | setLegendMode (LegendMode)
LegendMode | legendMode () const
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 QwtColumnSymbol * | specialSymbol (int sampleIndex, const QPointF &) const
virtual QwtText | barTitle (int sampleIndex) const
| Return the title of a bar.
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.
int | spacing () const
void | setMargin (int)
| Set the margin.
int | margin () const
void | setBaseline (double)
| Set the baseline.
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.
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.
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) override
| Update the item to changes of the axes scale division.
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.
void | detach ()
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with.
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.
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.
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding scale rectangle of 2 maps.
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding paint rectangle of 2 maps.
Public Member Functions inherited from QwtAbstractSeriesStore
virtual | ~QwtAbstractSeriesStore ()
| Destructor.
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 override
virtual QRectF | dataRect () const override
virtual void | setRectOfInterest (const QRectF &rect) override
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
QwtColumnRect | columnRect (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, const QwtInterval &boundingInterval, const QPointF &sample) const
QList< QwtLegendData > | legendData () const override
| Return all information, that is needed to represent the item on the legend.
QwtGraphic | legendIcon (int index, const QSizeF &) const override
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.

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

Definition at line 41 of file qwt_plot_barchart.h.

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

Definition at line 52 of file qwt_plot_barchart.h.

## Constructor & Destructor Documentation

## QwtPlotBarChart() [1/2]

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

explicit

Constructor

Parameters

  title | Title of the curve

Definition at line 51 of file qwt_plot_barchart.cpp.

## QwtPlotBarChart() [2/2]

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

explicit

Constructor

Parameters

  title | Title of the curve

Definition at line 41 of file qwt_plot_barchart.cpp.

## ~QwtPlotBarChart()

QwtPlotBarChart::~QwtPlotBarChart | ( |  | ) |

virtual

Destructor.

Definition at line 58 of file qwt_plot_barchart.cpp.

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

Definition at line 399 of file qwt_plot_barchart.cpp.

## boundingRect()

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

override virtual

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

Reimplemented from QwtPlotSeriesItem.

Definition at line 186 of file qwt_plot_barchart.cpp.

## columnRect()

QwtColumnRect QwtPlotBarChart::columnRect | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | const QwtInterval & | boundingInterval,
|  | const QPointF & | sample ) const

protected

Calculate the geometry of a bar in widget coordinates

Parameters

  xMap | x map
  yMap | y map
  canvasRect | Contents rect of the canvas
  boundingInterval | Bounding interval of sample values
  sample | Value of the sample

Returns
  Geometry of the column

Definition at line 262 of file qwt_plot_barchart.cpp.

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

Definition at line 341 of file qwt_plot_barchart.cpp.

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

Definition at line 322 of file qwt_plot_barchart.cpp.

## drawSeries()

void QwtPlotBarChart::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 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.

Definition at line 223 of file qwt_plot_barchart.cpp.

## legendData()

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

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

Definition at line 416 of file qwt_plot_barchart.cpp.

## legendIcon()

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

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

Definition at line 462 of file qwt_plot_barchart.cpp.

## legendMode()

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

Returns
  Legend mode

See also
  setLegendMode()

Definition at line 177 of file qwt_plot_barchart.cpp.

## rtti()

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

override virtual

Returns
  QwtPlotItem::Rtti_PlotBarChart

Reimplemented from QwtPlotItem.

Definition at line 70 of file qwt_plot_barchart.cpp.

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

Definition at line 164 of file qwt_plot_barchart.cpp.

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

Definition at line 97 of file qwt_plot_barchart.cpp.

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

Definition at line 82 of file qwt_plot_barchart.cpp.

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

Definition at line 119 of file qwt_plot_barchart.cpp.

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

Definition at line 134 of file qwt_plot_barchart.cpp.

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

Definition at line 377 of file qwt_plot_barchart.cpp.

## symbol()

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

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

See also
  setSymbol()

Definition at line 150 of file qwt_plot_barchart.cpp.