QwtPlotHistogram Class Reference

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

#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
}
enum  ItemAttribute {
  Legend = 0x01,
  AutoScale = 0x02
}
typedef QFlags< ItemAttributeItemAttributes
enum  RenderHint { RenderAntialiased = 1 }
typedef QFlags< RenderHintRenderHints
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
const QwtSeriesData
< QwtIntervalSample > * 
data () const
QwtSeriesData
< QwtIntervalSample > * 
data ()
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
QwtPlotplot () 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 QwtColumnSymbolsymbol () const
bool testItemAttribute (ItemAttribute) const
bool testRenderHint (RenderHint) const
const QwtTexttitle () 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 ( $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 Typedef Documentation

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

Plot Item Attributes.

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

Render hints.


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.

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

Series.


Generated on Wed Jan 11 15:23:02 2012 for Qwt User's Guide by  doxygen 1.5.9