Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
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]

Classes

class  PrivateData
 

Public Types

enum  HistogramStyle { Outline, Columns, Lines, UserStyle = 100 }
 
- Public Types inherited from QwtPlotItem
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...
 
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...
 

Public Member Functions

double baseline () const
 
virtual QRectF boundingRect () const QWT_OVERRIDE
 
const QBrush & brush () const
 
virtual void drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const QWT_OVERRIDE
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const QWT_OVERRIDE
 
const QPen & pen () const
 
 QwtPlotHistogram (const QString &title=QString())
 
 QwtPlotHistogram (const QwtText &title)
 
virtual int rtti () const QWT_OVERRIDE
 
void setBaseline (double)
 Set the value of the baseline. More...
 
void setBrush (const QBrush &)
 
void setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
 
void setPen (const QPen &)
 
void setSamples (const QVector< QwtIntervalSample > &)
 
void setSamples (QwtSeriesData< QwtIntervalSample > *)
 
void setStyle (HistogramStyle style)
 
void setSymbol (const QwtColumnSymbol *)
 Assign a symbol. More...
 
HistogramStyle style () const
 
const QwtColumnSymbolsymbol () const
 
virtual ~QwtPlotHistogram ()
 Destructor. More...
 
- Public Member Functions inherited from QwtPlotSeriesItem
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const QWT_OVERRIDE
 Draw the complete series. More...
 
Qt::Orientation orientation () const
 
 QwtPlotSeriesItem (const QString &title=QString())
 
 QwtPlotSeriesItem (const QwtText &title)
 
void setOrientation (Qt::Orientation)
 
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) QWT_OVERRIDE
 Update the item to changes of the axes scale division. More...
 
virtual ~QwtPlotSeriesItem ()
 Destructor. More...
 
- Public Member Functions inherited from QwtPlotItem
void attach (QwtPlot *plot)
 Attach the item to a plot. More...
 
void detach ()
 This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
 
virtual void getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
 Calculate a hint for the canvas margin. More...
 
void hide ()
 Hide the item. More...
 
bool isVisible () const
 
virtual void itemChanged ()
 
virtual void legendChanged ()
 
virtual QList< QwtLegendDatalegendData () const
 Return all information, that is needed to represent the item on the legend. More...
 
QSize legendIconSize () const
 
QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding paint rectangle of 2 maps. More...
 
QwtPlotplot () const
 Return attached plot. More...
 
 QwtPlotItem ()
 
 QwtPlotItem (const QString &title)
 
 QwtPlotItem (const QwtText &title)
 
uint renderThreadCount () const
 
QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding scale rectangle of 2 maps. More...
 
void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
 
void setItemAttribute (ItemAttribute, bool on=true)
 
void setItemInterest (ItemInterest, bool on=true)
 
void setLegendIconSize (const QSize &)
 
void setRenderHint (RenderHint, bool on=true)
 
void setRenderThreadCount (uint numThreads)
 
void setTitle (const QString &title)
 
void setTitle (const QwtText &title)
 
virtual void setVisible (bool)
 
void setXAxis (QwtAxisId)
 
void setYAxis (QwtAxisId)
 
void setZ (double z)
 Set the z value. More...
 
void show ()
 Show the item. More...
 
bool testItemAttribute (ItemAttribute) const
 
bool testItemInterest (ItemInterest) const
 
bool testRenderHint (RenderHint) const
 
const QwtTexttitle () const
 
virtual void updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
 Update the item to changes of the legend info. More...
 
QwtAxisId xAxis () const
 Return xAxis. More...
 
QwtAxisId yAxis () const
 Return yAxis. More...
 
double z () const
 
virtual ~QwtPlotItem ()
 Destroy the QwtPlotItem. More...
 
- Public Member Functions inherited from QwtAbstractSeriesStore
virtual ~QwtAbstractSeriesStore ()
 Destructor. More...
 
- Public Member Functions inherited from QwtSeriesStore< QwtIntervalSample >
QwtSeriesData< QwtIntervalSample > * data ()
 
const QwtSeriesData< QwtIntervalSample > * data () const
 
virtual QRectF dataRect () const QWT_OVERRIDE
 
virtual size_t dataSize () const QWT_OVERRIDE
 
 QwtSeriesStore ()
 Constructor The store contains no series. More...
 
QwtIntervalSample sample (int index) const
 
void setData (QwtSeriesData< QwtIntervalSample > *series)
 
virtual void setRectOfInterest (const QRectF &rect) QWT_OVERRIDE
 
QwtSeriesData< QwtIntervalSample > * swapData (QwtSeriesData< QwtIntervalSample > *series)
 
 ~QwtSeriesStore ()
 Destructor. More...
 

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 Member Functions inherited from QwtPlotSeriesItem
virtual void dataChanged () QWT_OVERRIDE
 dataChanged() indicates, that the series has been changed. More...
 
- Protected Member Functions inherited from QwtPlotItem
QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const
 Return a default icon from a brush. More...
 
- Protected Member Functions inherited from QwtAbstractSeriesStore
virtual QRectF dataRect () const =0
 
virtual size_t dataSize () const =0
 

Private Member Functions

void flushPolygon (QPainter *, double baseLine, QPolygonF &) const
 Internal, used by the Outline style. More...
 
void init ()
 Initialize data members. More...
 

Private Attributes

PrivateDatam_data
 

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.
See also
QwtPlotBarChart, QwtPlotMultiBarChart

Definition at line 41 of file qwt_plot_histogram.h.

Member Enumeration Documentation

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

Definition at line 52 of file qwt_plot_histogram.h.

Constructor & Destructor Documentation

◆ QwtPlotHistogram() [1/2]

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

Constructor

Parameters
titleTitle of the histogram.

Definition at line 74 of file qwt_plot_histogram.cpp.

◆ QwtPlotHistogram() [2/2]

QwtPlotHistogram::QwtPlotHistogram ( const QwtText title)
explicit

Constructor

Parameters
titleTitle of the histogram.

Definition at line 64 of file qwt_plot_histogram.cpp.

◆ ~QwtPlotHistogram()

QwtPlotHistogram::~QwtPlotHistogram ( )
virtual

Destructor.

Definition at line 81 of file qwt_plot_histogram.cpp.

Member Function Documentation

◆ baseline()

double QwtPlotHistogram::baseline ( ) const
Returns
Value of the baseline
See also
setBaseline()

Definition at line 253 of file qwt_plot_histogram.cpp.

◆ boundingRect()

QRectF QwtPlotHistogram::boundingRect ( ) const
virtual
Returns
Bounding rectangle of all samples. For an empty series the rectangle is invalid.

Reimplemented from QwtPlotSeriesItem.

Definition at line 262 of file qwt_plot_histogram.cpp.

◆ brush()

const QBrush & QwtPlotHistogram::brush ( ) const
Returns
Brush used in a style() depending way.
See also
setPen(), brush()

Definition at line 189 of file qwt_plot_histogram.cpp.

◆ columnRect()

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

Definition at line 602 of file qwt_plot_histogram.cpp.

◆ drawColumn()

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 different symbols) it is recommended to overload drawColumn().

Definition at line 653 of file qwt_plot_histogram.cpp.

◆ drawColumns()

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

Definition at line 461 of file qwt_plot_histogram.cpp.

◆ drawLines()

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

Definition at line 493 of file qwt_plot_histogram.cpp.

◆ drawOutline()

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.

Definition at line 376 of file qwt_plot_histogram.cpp.

◆ drawSeries()

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 rectangle 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 QwtPlotSeriesItem.

Definition at line 334 of file qwt_plot_histogram.cpp.

◆ flushPolygon()

void QwtPlotHistogram::flushPolygon ( QPainter *  painter,
double  baseLine,
QPolygonF &  polygon 
) const
private

Internal, used by the Outline style.

Definition at line 552 of file qwt_plot_histogram.cpp.

◆ init()

void QwtPlotHistogram::init ( )
private

Initialize data members.

Definition at line 87 of file qwt_plot_histogram.cpp.

◆ legendIcon()

QwtGraphic QwtPlotHistogram::legendIcon ( int  index,
const QSizeF &  size 
) const
virtual

A plain rectangle without pen using the brush()

Parameters
indexIndex of the legend entry ( ignored as there is only one )
sizeIcon size
Returns
A graphic displaying the icon
See also
QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()

Reimplemented from QwtPlotItem.

Definition at line 688 of file qwt_plot_histogram.cpp.

◆ pen()

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

Definition at line 163 of file qwt_plot_histogram.cpp.

◆ rtti()

int QwtPlotHistogram::rtti ( ) const
virtual
Returns
QwtPlotItem::Rtti_PlotHistogram

Reimplemented from QwtPlotItem.

Definition at line 290 of file qwt_plot_histogram.cpp.

◆ setBaseline()

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

Definition at line 240 of file qwt_plot_histogram.cpp.

◆ setBrush()

void QwtPlotHistogram::setBrush ( const QBrush &  brush)

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

Parameters
brushNew brush
See also
pen(), brush()

Definition at line 174 of file qwt_plot_histogram.cpp.

◆ setPen() [1/2]

void QwtPlotHistogram::setPen ( const QColor &  color,
qreal  width = 0.0,
Qt::PenStyle  style = Qt::SolidLine 
)

Build and assign a pen

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters
colorPen color
widthPen width
stylePen style
See also
pen(), brush()

Definition at line 137 of file qwt_plot_histogram.cpp.

◆ setPen() [2/2]

void QwtPlotHistogram::setPen ( const QPen &  pen)

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

Parameters
penNew pen
See also
pen(), brush()

Definition at line 148 of file qwt_plot_histogram.cpp.

◆ setSamples() [1/2]

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

Initialize data with an array of samples.

Parameters
samplesVector of points

Definition at line 299 of file qwt_plot_histogram.cpp.

◆ setSamples() [2/2]

void QwtPlotHistogram::setSamples ( QwtSeriesData< QwtIntervalSample > *  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
dataData
Warning
The item takes ownership of the data object, deleting it when its not used anymore.

Definition at line 315 of file qwt_plot_histogram.cpp.

◆ setStyle()

void QwtPlotHistogram::setStyle ( HistogramStyle  style)

Set the histogram's drawing style

Parameters
styleHistogram style
See also
HistogramStyle, style()

Definition at line 104 of file qwt_plot_histogram.cpp.

◆ setSymbol()

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 different symbols) it is recommended to overload drawColumn().

Definition at line 208 of file qwt_plot_histogram.cpp.

◆ style()

QwtPlotHistogram::HistogramStyle QwtPlotHistogram::style ( ) const
Returns
Style of the histogram
See also
HistogramStyle, setStyle()

Definition at line 119 of file qwt_plot_histogram.cpp.

◆ symbol()

const QwtColumnSymbol * QwtPlotHistogram::symbol ( ) const
Returns
Current symbol or NULL, when no symbol has been assigned
See also
setSymbol()

Definition at line 224 of file qwt_plot_histogram.cpp.

Member Data Documentation

◆ m_data

PrivateData* QwtPlotHistogram::m_data
private

Definition at line 141 of file qwt_plot_histogram.h.


The documentation for this class was generated from the following files:


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:50