# QwtPlotHistogram Class Reference

QwtPlotHistogram represents a series of samples, where an interval is associated with a value ( ). More...

`#include <qwt_plot_histogram.h>`

Inheritance diagram for QwtPlotHistogram:
[legend]

List of all members.

## Public Types

enum | HistogramStyle { Outline, Columns, Lines, UserStyle = 100 }
enum | ItemAttribute { Legend = 0x01, AutoScale = 0x02 }
typedef QFlags< ItemAttribute > | ItemAttributes
enum | RenderHint { RenderAntialiased = 1 }
typedef QFlags< RenderHint > | RenderHints
enum | RttiValues { Rtti_PlotItem = 0, Rtti_PlotGrid, Rtti_PlotScale, Rtti_PlotMarker, Rtti_PlotCurve, Rtti_PlotSpectroCurve, Rtti_PlotIntervalCurve, Rtti_PlotHistogram, Rtti_PlotSpectrogram, Rtti_PlotSVG, Rtti_PlotUserItem = 1000 }

## Public Member Functions

void | attach (QwtPlot *plot)
double | baseline () const
virtual QRectF | boundingRect () const
const QBrush & | brush () const
QwtSeriesData < QwtIntervalSample > * | data ()
const QwtSeriesData < QwtIntervalSample > * | data () const
size_t | dataSize () const
void | detach ()
virtual void | draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &) const
virtual void | drawLegendIdentifier (QPainter *, const QRectF &) const
virtual void | drawSeries (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
void | hide ()
bool | isVisible () const
virtual void | itemChanged ()
virtual QWidget * | legendItem () const
Qt::Orientation | orientation () const
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
const QPen & | pen () const
QwtPlot * | plot () const
| QwtPlotHistogram (const QwtText &title)
| QwtPlotHistogram (const QString &title=QString::null)
virtual int | rtti () const
QwtIntervalSample | sample (int index) const
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
void | setAxes (int xAxis, int yAxis)
void | setBaseline (double reference)
void | setBrush (const QBrush &)
void | setData (QwtSeriesData< QwtIntervalSample > *)
void | setItemAttribute (ItemAttribute, bool on=true)
void | setOrientation (Qt::Orientation)
void | setPen (const QPen &)
void | setRenderHint (RenderHint, bool on=true)
void | setSamples (const QVector< QwtIntervalSample > &)
void | setStyle (HistogramStyle style)
void | setSymbol (const QwtColumnSymbol *)
void | setTitle (const QwtText &title)
void | setTitle (const QString &title)
virtual void | setVisible (bool)
void | setXAxis (int axis)
void | setYAxis (int axis)
void | setZ (double z)
void | show ()
HistogramStyle | style () const
const QwtColumnSymbol * | symbol () const
bool | testItemAttribute (ItemAttribute) const
bool | testRenderHint (RenderHint) const
const QwtText & | title () const
virtual void | updateLegend (QwtLegend *) const
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
int | xAxis () const
int | yAxis () const
double | z () const
virtual | ~QwtPlotHistogram ()

## Protected Member Functions

virtual QwtColumnRect | columnRect (const QwtIntervalSample &, const QwtScaleMap &, const QwtScaleMap &) const
virtual void | drawColumn (QPainter *, const QwtColumnRect &, const QwtIntervalSample &) const
void | drawColumns (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const
void | drawLines (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const
void | drawOutline (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const

## Protected Attributes

QwtSeriesData < QwtIntervalSample > * | d_series

## Detailed Description

QwtPlotHistogram represents a series of samples, where an interval is associated with a value ( ).

The representation depends on the style() and an optional symbol() that is displayed for each interval.

Note:
  The term "histogram" is used in a different way in the areas of digital image processing and statistics. Wikipedia introduces the terms "image histogram" and "color histogram" to avoid confusions. While "image histograms" can be displayed by a QwtPlotCurve there is no applicable plot item for a "color histogram" yet.

## Member Typedef Documentation

typedef QFlags<ItemAttribute> QwtPlotItem::ItemAttributes`[inherited]`

Plot Item Attributes.

typedef QFlags<RenderHint> QwtPlotItem::RenderHints`[inherited]`

Render hints.

## Member Enumeration Documentation

enum QwtPlotHistogram::HistogramStyle

Histogram styles. The default style is QwtPlotHistogram::Columns.

See also:
  setStyle(), style(), setSymbol(), symbol(), setBaseline()

Enumerator:

  Outline | Draw an outline around the area, that is build by all intervals using the pen() and fill it with the brush(). The outline style requires, that the intervals are in increasing order and not overlapping.
  Columns | Draw a column for each interval. When a symbol() has been set the symbol is used otherwise the column is displayed as plain rectangle using pen() and brush().
  Lines | Draw a simple line using the pen() for each interval.
  UserStyle | Styles >= UserStyle are reserved for derived classes that overload drawSeries() with additional application specific ways to display a histogram.

enum QwtPlotItem::ItemAttribute`[inherited]`

Plot Item Attributes

See also:
  setItemAttribute(), testItemAttribute()

Enumerator:

  Legend | The item is represented on the legend.
  AutoScale | The boundingRect() of the item is included in the autoscaling calculation.

enum QwtPlotItem::RenderHint`[inherited]`

Render hints.

Enumerator:

  RenderAntialiased | Enable antialiasing.

enum QwtPlotItem::RttiValues`[inherited]`

Runtime type information.

RttiValues is used to cast plot items, without having to enable runtime type information of the compiler.

## Constructor & Destructor Documentation

QwtPlotHistogram::QwtPlotHistogram | ( | const QString & | title = `QString::null` | ) | `[explicit]`

Constructor

Parameters:

  title | Title of the histogram.

QwtPlotHistogram::QwtPlotHistogram | ( | const QwtText & | title | ) | `[explicit]`

Constructor

Parameters:

  title | Title of the histogram.

QwtPlotHistogram::~QwtPlotHistogram | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

void QwtPlotItem::attach | ( | QwtPlot * | plot | ) | `[inherited]`

Attach the item to a plot.

This method will attach a QwtPlotItem to the QwtPlot argument. It will first detach the QwtPlotItem from any plot from a previous call to attach (if necessary). If a NULL argument is passed, it will detach from any QwtPlot it was attached to.

Parameters:

  plot | Plot widget

See also:
  detach()

double QwtPlotHistogram::baseline | ( |  | ) | const

Returns:
  Value of the baseline

See also:
  setBaseline()

QRectF QwtPlotHistogram::boundingRect | ( |  | ) | const`[virtual]`

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

Reimplemented from QwtPlotSeriesItem< QwtIntervalSample >.

const QBrush & QwtPlotHistogram::brush | ( |  | ) | const

Returns:
  Brush used in a style() depending way.

See also:
  setPen(), brush()

QwtColumnRect QwtPlotHistogram::columnRect | ( | const QwtIntervalSample & | sample,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap
| ) |  | const`[protected, virtual]`

Calculate the area that is covered by a sample

Parameters:

  sample | Sample
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.

Returns:
  Rectangle, that is covered by a sample

void QwtPlotItem::detach | ( |  | ) | `[inherited]`

This method detaches a QwtPlotItem from any QwtPlot it has been associated with.

detach() is equivalent to calling attach( NULL )

See also:
  attach()

void QwtPlotAbstractSeriesItem::draw | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect
| ) |  | const`[virtual, inherited]`

Draw the complete series.

Parameters:

  painter | Painter
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.
  canvasRect | Contents rect of the canvas

Implements QwtPlotItem.

void QwtPlotHistogram::drawColumn | ( | QPainter * | painter,
|  | const QwtColumnRect & | rect,
|  | const QwtIntervalSample & | sample
| ) |  | const`[protected, virtual]`

Draw a column for a sample in Columns style().

When a symbol() has been set the symbol is used otherwise the column is displayed as plain rectangle using pen() and brush().

Parameters:

  painter | Painter
  rect | Rectangle where to paint the column in paint device coordinates
  sample | Sample to be displayed

Note:
  In applications, where different intervals need to be displayed in a different way ( f.e different colors or even using differnt symbols) it is recommended to overload drawColumn().

void QwtPlotHistogram::drawColumns | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | int | from,
|  | int | to
| ) |  | const`[protected]`

Draw a histogram in Columns style()

Parameters:

  painter | Painter
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted. If to < 0 the histogram will be painted to its last point.

See also:
  setStyle(), style(), setSymbol(), drawColumn()

void QwtPlotHistogram::drawLegendIdentifier | ( | QPainter * | painter,
|  | const QRectF & | rect
| ) |  | const`[virtual]`

Draw a plain rectangle without pen using the brush() as identifier

Parameters:

  painter | Painter
  rect | Bounding rectangle for the identifier

Reimplemented from QwtLegendItemManager.

void QwtPlotHistogram::drawLines | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | int | from,
|  | int | to
| ) |  | const`[protected]`

Draw a histogram in Lines style()

Parameters:

  painter | Painter
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted. If to < 0 the histogram will be painted to its last point.

See also:
  setStyle(), style(), setPen()

void QwtPlotHistogram::drawOutline | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | int | from,
|  | int | to
| ) |  | const`[protected]`

Draw a histogram in Outline style()

Parameters:

  painter | Painter
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted. If to < 0 the histogram will be painted to its last point.

See also:
  setStyle(), style()

Warning:
  The outline style requires, that the intervals are in increasing order and not overlapping.

void QwtPlotHistogram::drawSeries | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to
| ) |  | const`[virtual]`

Draw a subset of the histogram samples

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 sample to be painted
  to | Index of the last sample to be painted. If to < 0 the series will be painted to its last sample.

See also:
  drawOutline(), drawLines(), drawColumns

Implements QwtPlotAbstractSeriesItem.

void QwtPlotItem::hide | ( |  | ) | `[inherited]`

Hide the item.

bool QwtPlotItem::isVisible | ( |  | ) | const`[inherited]`

Returns:
  true if visible

See also:
  setVisible(), show(), hide()

void QwtPlotItem::itemChanged | ( |  | ) | `[virtual, inherited]`

Update the legend and call QwtPlot::autoRefresh for the parent plot.

See also:
  updateLegend()

QWidget * QwtPlotItem::legendItem | ( |  | ) | const`[virtual, inherited]`

Allocate the widget that represents the item on the legend.

The default implementation returns a QwtLegendItem(), but an item could be represented by any type of widget, by overloading legendItem() and updateLegend().

Returns:
  QwtLegendItem()

See also:
  updateLegend() QwtLegend()

Implements QwtLegendItemManager.

Qt::Orientation QwtPlotAbstractSeriesItem::orientation | ( |  | ) | const`[inherited]`

Returns:
  Orientation of the plot item

See also:
  setOrientation()

QRectF QwtPlotItem::paintRect | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap
| ) |  | const`[inherited]`

Calculate the bounding paint rect of 2 maps.

Parameters:

  xMap | X map
  yMap | X map

Returns:
  Bounding paint rect of the scale maps, normalized

const QPen & QwtPlotHistogram::pen | ( |  | ) | const

Returns:
  Pen used in a style() depending way.

See also:
  setPen(), brush()

QwtPlot * QwtPlotItem::plot | ( |  | ) | const`[inherited]`

Return attached plot.

int QwtPlotHistogram::rtti | ( |  | ) | const`[virtual]`

Returns:
  QwtPlotItem::Rtti_PlotHistogram

Reimplemented from QwtPlotItem.

QRectF QwtPlotItem::scaleRect | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap
| ) |  | const`[inherited]`

Calculate the bounding scale rect of 2 maps.

Parameters:

  xMap | X map
  yMap | X map

Returns:
  Bounding scale rect of the scale maps, normalized

void QwtPlotItem::setAxes | ( | int | xAxis,
|  | int | yAxis
| ) |  | `[inherited]`

Set X and Y axis

The item will painted according to the coordinates its Axes.

Parameters:

  xAxis | X Axis
  yAxis | Y Axis

See also:
  setXAxis(), setYAxis(), xAxis(), yAxis()

void QwtPlotHistogram::setBaseline | ( | double | value | ) |

Set the value of the baseline.

Each column representing an QwtIntervalSample is defined by its interval and the interval between baseline and the value of the sample.

The default value of the baseline is 0.0.

Parameters:

  value | Value of the baseline

See also:
  baseline()

void QwtPlotHistogram::setBrush | ( | const QBrush & | brush | ) |

Assign a brush, that is used in a style() depending way.

Parameters:

  brush | New brush

See also:
  pen(), brush()

void QwtPlotItem::setItemAttribute | ( | ItemAttribute | attribute,
|  | bool | on = `true`
| ) |  | `[inherited]`

Toggle an item attribute

Parameters:

  attribute | Attribute type
  on | true/false

See also:
  testItemAttribute(), ItemAttribute

void QwtPlotAbstractSeriesItem::setOrientation | ( | Qt::Orientation | orientation | ) | `[inherited]`

Set the orientation of the item.

The orientation() might be used in specific way by a plot item. F.e. a QwtPlotCurve uses it to identify how to display the curve int QwtPlotCurve::Steps or QwtPlotCurve::Sticks style.

See also:
  orientation()

void QwtPlotHistogram::setPen | ( | const QPen & | pen | ) |

Assign a pen, that is used in a style() depending way.

Parameters:

  pen | New pen

See also:
  pen(), brush()

void QwtPlotItem::setRenderHint | ( | RenderHint | hint,
|  | bool | on = `true`
| ) |  | `[inherited]`

Toggle an render hint

Parameters:

  hint | Render hint
  on | true/false

See also:
  testRenderHint(), RenderHint

void QwtPlotHistogram::setSamples | ( | const QVector< QwtIntervalSample > & | samples | ) |

Initialize data with an array of samples.

Parameters:

  samples | Vector of points

void QwtPlotHistogram::setStyle | ( | HistogramStyle | style | ) |

Set the histogram's drawing style

Parameters:

  style | Histogram style

See also:
  HistogramStyle, style()

void QwtPlotHistogram::setSymbol | ( | const QwtColumnSymbol * | symbol | ) |

Assign a symbol.

In Column style an optional symbol can be assigned, that is responsible for displaying the rectangle that is defined by the interval and the distance between baseline() and value. When no symbol has been defined the area is displayed as plain rectangle using pen() and brush().

See also:
  style(), symbol(), drawColumn(), pen(), brush()

Note:
  In applications, where different intervals need to be displayed in a different way ( f.e different colors or even using differnt symbols) it is recommended to overload drawColumn().

void QwtPlotItem::setTitle | ( | const QwtText & | title | ) | `[inherited]`

Set a new title

Parameters:

  title | Title

See also:
  title()

void QwtPlotItem::setTitle | ( | const QString & | title | ) | `[inherited]`

Set a new title

Parameters:

  title | Title

See also:
  title()

void QwtPlotItem::setVisible | ( | bool | on | ) | `[virtual, inherited]`

Show/Hide the item

Parameters:

  on | Show if true, otherwise hide

See also:
  isVisible(), show(), hide()

void QwtPlotItem::setXAxis | ( | int | axis | ) | `[inherited]`

Set the X axis

The item will painted according to the coordinates its Axes.

Parameters:

  axis | X Axis

See also:
  setAxes(), setYAxis(), xAxis()

void QwtPlotItem::setYAxis | ( | int | axis | ) | `[inherited]`

Set the Y axis

The item will painted according to the coordinates its Axes.

Parameters:

  axis | Y Axis

See also:
  setAxes(), setXAxis(), yAxis()

void QwtPlotItem::setZ | ( | double | z | ) | `[inherited]`

Set the z value.

Plot items are painted in increasing z-order.

Parameters:

  z | Z-value

See also:
  z(), QwtPlotDict::itemList()

void QwtPlotItem::show | ( |  | ) | `[inherited]`

Show the item.

QwtPlotHistogram::HistogramStyle QwtPlotHistogram::style | ( |  | ) | const

Return the current style

See also:
  HistogramStyle, setStyle()

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

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

See also:
  setSymbol()

bool QwtPlotItem::testItemAttribute | ( | ItemAttribute | attribute | ) | const`[inherited]`

Test an item attribute

Parameters:

  attribute | Attribute type

Returns:
  true/false

See also:
  setItemAttribute(), ItemAttribute

bool QwtPlotItem::testRenderHint | ( | RenderHint | hint | ) | const`[inherited]`

Test a render hint

Parameters:

  hint | Render hint

Returns:
  true/false

See also:
  setRenderHint(), RenderHint

const QwtText & QwtPlotItem::title | ( |  | ) | const`[inherited]`

Returns:
  Title of the item

See also:
  setTitle()

void QwtPlotItem::updateLegend | ( | QwtLegend * | legend | ) | const`[virtual, inherited]`

Update the widget that represents the item on the legend.

updateLegend() is called from itemChanged() to adopt the widget representing the item on the legend to its new configuration.

The default implementation updates a QwtLegendItem(), but an item could be represented by any type of widget, by overloading legendItem() and updateLegend().

Parameters:

  legend | Legend

See also:
  legendItem(), itemChanged(), QwtLegend()

Implements QwtLegendItemManager.

Reimplemented in QwtPlotCurve, and QwtPlotMarker.

virtual void QwtPlotSeriesItem< QwtIntervalSample >::updateScaleDiv | ( | const QwtScaleDiv & | xScaleDiv,
|  | const QwtScaleDiv & | yScaleDiv
| ) |  | `[virtual, inherited]`

Update the rect of interest according to the current scale ranges

Parameters:

  xScaleDiv | Scale division of the x-axis
  yScaleDiv | Scale division of the y-axis

See also:
  QwtSeriesData<T>::setRectOfInterest()

Reimplemented from QwtPlotItem.

int QwtPlotItem::xAxis | ( |  | ) | const`[inherited]`

Return xAxis.

int QwtPlotItem::yAxis | ( |  | ) | const`[inherited]`

Return yAxis.

double QwtPlotItem::z | ( |  | ) | const`[inherited]`

Plot items are painted in increasing z-order.

Returns:
  setZ(), QwtPlotDict::itemList()

## Member Data Documentation

QwtSeriesData<QwtIntervalSample >* QwtPlotSeriesItem< QwtIntervalSample >::d_series`[protected, inherited]`

Series.