SYNOPSIS

#include <qwt_plot_histogram.h>

Inherits QwtPlotSeriesItem< QwtIntervalSample >.

Public Types

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

Public Member Functions

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

QwtPlotHistogram (const QwtText &title)

virtual ~QwtPlotHistogram ()

virtual int rtti () const

void setPen (const QPen &)

const QPen & pen () const

void setBrush (const QBrush &)

const QBrush & brush () const

void setSamples (const QVector< QwtIntervalSample > &)

void setBaseline (double reference)

double baseline () const

void setStyle (HistogramStyle style)

HistogramStyle style () const

void setSymbol (const QwtColumnSymbol *)

const QwtColumnSymbol * symbol () const

virtual void drawSeries (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const

virtual QRectF boundingRect () const

virtual void drawLegendIdentifier (QPainter *, const QRectF &) const

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

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

enum \fBQwtPlotHistogram::HistogramStyle\fP Histogram styles. The default style is \fBQwtPlotHistogram::Columns\fP.

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 = \fCQString::null\fP)\fC [explicit]\fP Constructor

Parameters:

title Title of the histogram.

QwtPlotHistogram::QwtPlotHistogram (const \fBQwtText\fP &title)\fC [explicit]\fP Constructor

Parameters:

title Title of the histogram.

QwtPlotHistogram::~QwtPlotHistogram ()\fC [virtual]\fP

Destructor.

Member Function Documentation

double QwtPlotHistogram::baseline () const \fBReturns:\fP

Value of the baseline

See also:

setBaseline()

QRectF QwtPlotHistogram::boundingRect () const\fC [virtual]\fP \fBReturns:\fP

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

Reimplemented from QwtPlotSeriesItem< QwtIntervalSample >.

const QBrush & QwtPlotHistogram::brush () const \fBReturns:\fP

Brush used in a style() depending way.

See also:

setPen(), brush()

\fBQwtColumnRect\fP QwtPlotHistogram::columnRect (const \fBQwtIntervalSample\fP &sample, const \fBQwtScaleMap\fP &xMap, const \fBQwtScaleMap\fP &yMap) const\fC [protected, virtual]\fP 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 QwtPlotHistogram::drawColumn (QPainter *painter, const \fBQwtColumnRect\fP &rect, const \fBQwtIntervalSample\fP &sample) const\fC [protected, virtual]\fP Draw a column for a sample in Columns \fBstyle()\fP.

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 \fBQwtScaleMap\fP &xMap, const \fBQwtScaleMap\fP &yMap, intfrom, intto) const\fC [protected]\fP Draw a histogram in Columns \fBstyle()\fP

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\fC [virtual]\fP Draw a plain rectangle without pen using the \fBbrush()\fP as identifier

Parameters:

painter Painter

rect Bounding rectangle for the identifier

Reimplemented from QwtLegendItemManager.

void QwtPlotHistogram::drawLines (QPainter *painter, const \fBQwtScaleMap\fP &xMap, const \fBQwtScaleMap\fP &yMap, intfrom, intto) const\fC [protected]\fP Draw a histogram in Lines \fBstyle()\fP

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 \fBQwtScaleMap\fP &xMap, const \fBQwtScaleMap\fP &yMap, intfrom, intto) const\fC [protected]\fP Draw a histogram in Outline \fBstyle()\fP

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 \fBQwtScaleMap\fP &xMap, const \fBQwtScaleMap\fP &yMap, const QRectF &canvasRect, intfrom, intto) const\fC [virtual]\fP 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.

const QPen & QwtPlotHistogram::pen () const \fBReturns:\fP

Pen used in a style() depending way.

See also:

setPen(), brush()

int QwtPlotHistogram::rtti () const\fC [virtual]\fP \fBReturns:\fP

QwtPlotItem::Rtti_PlotHistogram

Reimplemented from QwtPlotItem.

void QwtPlotHistogram::setBaseline (doublevalue)

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 \fBstyle()\fP depending way.

Parameters:

brush New brush

See also:

pen(), brush()

void QwtPlotHistogram::setPen (const QPen &pen) Assign a pen, that is used in a \fBstyle()\fP depending way.

Parameters:

pen New pen

See also:

pen(), brush()

void QwtPlotHistogram::setSamples (const QVector< \fBQwtIntervalSample\fP > &samples) Initialize data with an array of samples.

Parameters:

samples Vector of points

void QwtPlotHistogram::setStyle (\fBHistogramStyle\fPstyle) Set the histogram's drawing style

Parameters:

style Histogram style

See also:

HistogramStyle, style()

void QwtPlotHistogram::setSymbol (const \fBQwtColumnSymbol\fP *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().

\fBQwtPlotHistogram::HistogramStyle\fP QwtPlotHistogram::style () const Return the current style

See also:

HistogramStyle, setStyle()

const \fBQwtColumnSymbol\fP * QwtPlotHistogram::symbol () const \fBReturns:\fP

Current symbol or NULL, when no symbol has been assigned

See also:

setSymbol()

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.