Qwt User's Guide  6.0.2
Public Types | Public Member Functions | Protected Member Functions
QwtPlotHistogram Class Reference

#include <qwt_plot_histogram.h>

Inheritance diagram for QwtPlotHistogram:
Inheritance graph
[legend]

List of all members.

Public Types

enum  HistogramStyle {
  Outline,
  Columns,
  Lines,
  UserStyle = 100
}

Public Member Functions

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

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

Additional Inherited Members

- Protected Attributes inherited from QwtPlotSeriesItem< QwtIntervalSample >
QwtSeriesData
< QwtIntervalSample > * 
d_series

Detailed Description

QwtPlotHistogram represents a series of samples, where an interval is associated with a value ( $y = f([x1,x2])$ ).

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 Enumeration Documentation

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.


Constructor & Destructor Documentation

QwtPlotHistogram::QwtPlotHistogram ( const QString &  title = QString::null)
explicit

Constructor

Parameters:
titleTitle of the histogram.
QwtPlotHistogram::QwtPlotHistogram ( const QwtText title)
explicit

Constructor

Parameters:
titleTitle of the histogram.

Member Function Documentation

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
protectedvirtual

Calculate the area that is covered by a sample

Parameters:
sampleSample
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
Returns:
Rectangle, that is covered by a sample
void QwtPlotHistogram::drawColumn ( QPainter *  painter,
const QwtColumnRect rect,
const QwtIntervalSample sample 
) const
protectedvirtual

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:
painterPainter
rectRectangle where to paint the column in paint device coordinates
sampleSample 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:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
fromIndex of the first sample to be painted
toIndex 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:
painterPainter
rectBounding 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:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
fromIndex of the first sample to be painted
toIndex 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:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
fromIndex of the first sample to be painted
toIndex 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:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rect of the canvas
fromIndex of the first sample to be painted
toIndex 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.

const QPen & QwtPlotHistogram::pen ( ) const
Returns:
Pen used in a style() depending way.
See also:
setPen(), brush()
int QwtPlotHistogram::rtti ( ) const
virtual
Returns:
QwtPlotItem::Rtti_PlotHistogram

Reimplemented from QwtPlotItem.

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:
valueValue of the baseline
See also:
baseline()
void QwtPlotHistogram::setBrush ( const QBrush &  brush)

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

Parameters:
brushNew brush
See also:
pen(), brush()
void QwtPlotHistogram::setPen ( const QPen &  pen)

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

Parameters:
penNew pen
See also:
pen(), brush()
void QwtPlotHistogram::setSamples ( const QVector< QwtIntervalSample > &  samples)

Initialize data with an array of samples.

Parameters:
samplesVector of points
void QwtPlotHistogram::setStyle ( HistogramStyle  style)

Set the histogram's drawing style

Parameters:
styleHistogram 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().
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()