QwtPlotHistogram(3)

πŸŽ€ QwtPlotHistogram(3) β€” Library Functions Manual πŸŽ€

okay so bestie, we're in section 3 of the manual (the Library Functions Manual, iykyk) and today's main character is <pink>QwtPlotHistogram</pink>. She's a plot item, she's got range, and she's about to make your intervals look iconic. Let's get into it ✨


πŸ’– NAME

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


🌸 SYNOPSIS

#include <qwt_plot_histogram.h>

Inherits QwtPlotSeriesItem, and QwtSeriesStore< QwtIntervalSample >.

✨ Public Types ✨

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

🫢 Public Types inherited from QwtPlotItem

  • **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, fr fr
  • enum ItemAttribute { Legend = 0x01, AutoScale = 0x02, Margins = 0x04 } β€” plot Item Attributes
  • enum ItemInterest { ScaleInterest = 0x01, LegendInterest = 0x02 } β€” plot Item Interests
  • enum RenderHint { RenderAntialiased = 0x1 } β€” render hints
  • typedef QFlags< ItemAttribute > ItemAttributes
  • typedef QFlags< ItemInterest > ItemInterests
  • typedef QFlags< RenderHint > RenderHints

πŸ’… Public Member Functions πŸ’…

  • QwtPlotHistogram (const QString &title=QString())
  • QwtPlotHistogram (const QwtText &title)
  • virtual ~QwtPlotHistogram () β€” Destructor
  • virtual int rtti () const override
  • void setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
  • void setPen (const QPen &)
  • const QPen & pen () const
  • void setBrush (const QBrush &)
  • const QBrush & brush () const
  • void setSamples (const QVector< QwtIntervalSample > &)
  • void setSamples (QwtSeriesData< QwtIntervalSample > *)
  • void setBaseline (double) β€” set the value of the baseline
  • double baseline () const
  • void setStyle (HistogramStyle style)
  • HistogramStyle style () const
  • void setSymbol (const QwtColumnSymbol *) β€” assign a symbol
  • const QwtColumnSymbol * symbol () const
  • virtual void drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const override
  • virtual QRectF boundingRect () const override
  • virtual QwtGraphic legendIcon (int index, const QSizeF &) const override

πŸ¦‹ Public Member Functions inherited from QwtPlotSeriesItem

  • QwtPlotSeriesItem (const QString &title=QString())
  • QwtPlotSeriesItem (const QwtText &title)
  • virtual ~QwtPlotSeriesItem () β€” Destructor
  • void setOrientation (Qt::Orientation)
  • Qt::Orientation orientation () const
  • virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override β€” draws the complete series
  • virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) override β€” updates the item to changes of the axes scale division

🌈 Public Member Functions inherited from QwtPlotItem

  • QwtPlotItem ()
  • QwtPlotItem (const QString &title)
  • QwtPlotItem (const QwtText &title)
  • virtual ~QwtPlotItem () β€” destroy the QwtPlotItem
  • void attach (QwtPlot *plot) β€” attach the item to a plot
  • void detach () β€” this method detaches a QwtPlotItem from any QwtPlot it has been associated with
  • QwtPlot * plot () const β€” return attached plot
  • void setTitle (const QString &title)
  • void setTitle (const QwtText &title)
  • const QwtText & title () const
  • void setItemAttribute (ItemAttribute, bool on=true)
  • bool testItemAttribute (ItemAttribute) const
  • void setItemInterest (ItemInterest, bool on=true)
  • bool testItemInterest (ItemInterest) const
  • void setRenderHint (RenderHint, bool on=true)
  • bool testRenderHint (RenderHint) const
  • void setRenderThreadCount (uint numThreads)
  • uint renderThreadCount () const
  • void setLegendIconSize (const QSize &)
  • QSize legendIconSize () const
  • double z () const
  • void setZ (double z) β€” set the z value
  • void show () β€” show the item
  • void hide () β€” hide the item
  • virtual void setVisible (bool)
  • bool isVisible () const
  • void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
  • void setXAxis (QwtAxisId)
  • QwtAxisId xAxis () const β€” return xAxis
  • void setYAxis (QwtAxisId)
  • QwtAxisId yAxis () const β€” return yAxis
  • virtual void itemChanged ()
  • virtual void legendChanged ()
  • 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
  • virtual void updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &) β€” update the item to changes of the legend info
  • QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const β€” calculate the bounding scale rectangle of 2 maps
  • QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const β€” calculate the bounding paint rectangle of 2 maps
  • virtual QList< QwtLegendData > legendData () const β€” return all information, that is needed to represent the item on the legend

🧚 Public Member Functions inherited from QwtAbstractSeriesStore

  • virtual ~QwtAbstractSeriesStore () β€” Destructor

πŸ“ Public Member Functions inherited from QwtSeriesStore< QwtIntervalSample >

  • QwtSeriesStore () β€” Constructor. The store contains no series
  • ~QwtSeriesStore () β€” Destructor
  • void setData (QwtSeriesData< QwtIntervalSample > *series)
  • QwtSeriesData< QwtIntervalSample > * data ()
  • QwtIntervalSample sample (int index) const
  • virtual size_t dataSize () const override
  • virtual QRectF dataRect () const override
  • virtual void setRectOfInterest (const QRectF &rect) override
  • QwtSeriesData< QwtIntervalSample > * swapData (QwtSeriesData< QwtIntervalSample > *series)

πŸ’œ 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

🌸 Protected Member Functions inherited from QwtPlotSeriesItem

  • virtual void dataChanged () override β€” dataChanged() indicates, that the series has been changed

πŸŽ€ Protected Member Functions inherited from QwtPlotItem

  • QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const β€” return a default icon from a brush

πŸ‘‘ 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. 😭 not yet bestie.

See also: QwtPlotBarChart, QwtPlotMultiBarChart

Definition at line 41 of file qwt_plot_histogram.h.


🌟 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. πŸ‘€ yes that part matters, don't skip it
  • 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::QwtPlotHistogram (const QString & title = QString())

[explicit]

Constructor 🫢

Parameters

  • title β€” title of the histogram.

Definition at line 74 of file qwt_plot_histogram.cpp.

QwtPlotHistogram::QwtPlotHistogram (const QwtText & title)

[explicit]

Constructor 🫢

Parameters

  • title β€” title of the histogram.

Definition at line 64 of file qwt_plot_histogram.cpp.

QwtPlotHistogram::~QwtPlotHistogram ()

[virtual]

Destructor. she's done, she's logging off πŸ’€βœ¨

Definition at line 81 of file qwt_plot_histogram.cpp.


(part 1 done β€” but don't go anywhere, bestie, more is coming 🌈)

πŸ’– Member Function Documentation πŸ’–

okay bestie, we’re in the member-function era now, and it’s lowkey a whole tour of QwtPlotHistogram’s moving parts. grab a strawberry drink πŸ“ and let’s go function by function, no cap.


🌸 double QwtPlotHistogram::baseline () const

This one just hands you the baseline value, periodt.

  • Returns: Value of the baseline
  • See also: setBaseline()

Definition at line 253 of file qwt_plot_histogram.cpp.


πŸ¦‹ QRectF QwtPlotHistogram::boundingRect () const [override], [virtual]

Gives you the bounding rectangle of all samples. And listen: for an empty series the rectangle is invalid β€” not me making that up, that’s the vibe check.

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


πŸŽ€ const QBrush & QwtPlotHistogram::brush () const

Returns the brush that gets used in a style() depending way. cute, contextual, iconic.

  • Returns: Brush used in a style() depending way.
  • See also: setPen(), brush()

Definition at line 189 of file qwt_plot_histogram.cpp.


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

Calculates the area that is covered by a sample. it’s giving geometry main character energy.

  • 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

Definition at line 602 of file qwt_plot_histogram.cpp.


πŸ’… void QwtPlotHistogram::drawColumn (QPainter * painter, const QwtColumnRect & rect, const QwtIntervalSample & sample) const [protected], [virtual]

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

When a symbol() has been set the symbol is used; otherwise the column is displayed as a plain rectangle using pen() and brush(). slay, but make it rectangle.

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

Definition at line 653 of file qwt_plot_histogram.cpp.


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

Draws a histogram in Columns style(). columns era, we love to see it.

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

Definition at line 461 of file qwt_plot_histogram.cpp.


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

Draws a histogram in Lines style(). line girlies rise.

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

Definition at line 493 of file qwt_plot_histogram.cpp.


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

Draws a histogram in Outline style(). very silhouette, very chic.

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

Definition at line 376 of file qwt_plot_histogram.cpp.


πŸ”₯ void QwtPlotHistogram::drawSeries (QPainter * painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect, int from, int to) const [override], [virtual]

Draws a subset of the histogram samples. it’s the main draw call, literally.

  • Parameters:
    • painter β€” Painter
    • xMap β€” Maps x-values into pixel coordinates.
    • yMap β€” Maps y-values into pixel coordinates.
    • canvasRect β€” Contents rectangle 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 QwtPlotSeriesItem.

Definition at line 334 of file qwt_plot_histogram.cpp.


πŸ‘‘ QwtGraphic QwtPlotHistogram::legendIcon (int index, const QSizeF & size) const [override], [virtual]

A plain rectangle without pen using the brush(). legend icon, but make it minimal.

  • Parameters:
    • index β€” Index of the legend entry ( ignored as there is only one )
    • size β€” Icon 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.


πŸ’œ const QPen & QwtPlotHistogram::pen () const

Returns the pen that gets used in a style() depending way. yes bestie, pen and brush are a duo.

  • Returns: Pen used in a style() depending way.
  • See also: setPen(), brush()

Definition at line 163 of file qwt_plot_histogram.cpp.


⭐ int QwtPlotHistogram::rtti () const [override], [virtual]

Returns QwtPlotItem::Rtti_PlotHistogram. that’s the identity check, iykyk.

  • Returns: QwtPlotItem::Rtti_PlotHistogram

Reimplemented from QwtPlotItem.

Definition at line 290 of file qwt_plot_histogram.cpp.


🌸 void QwtPlotHistogram::setBaseline (double value)

Sets 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. that’s the whole column lore.

The default value of the baseline is 0.0.

  • Parameters: value β€” Value of the baseline
  • See also: baseline()

Definition at line 240 of file qwt_plot_histogram.cpp.


πŸ¦‹ void QwtPlotHistogram::setBrush (const QBrush & brush)

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

  • Parameters: brush β€” New brush
  • See also: pen(), brush()

Definition at line 174 of file qwt_plot_histogram.cpp.


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

Builds and assigns a pen. it’s giving convenience with a side of Qt compatibility tea.

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:
    • color β€” Pen color
    • width β€” Pen width
    • style β€” Pen style
  • See also: pen(), brush()

Definition at line 137 of file qwt_plot_histogram.cpp.


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

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

  • Parameters: pen β€” New pen
  • See also: pen(), brush()

Definition at line 148 of file qwt_plot_histogram.cpp.


πŸ“ void QwtPlotHistogram::setSamples (const QVector< QwtIntervalSample > & samples)

Initializes data with an array of samples. sample drop, but make it histograms.

  • Parameters: samples β€” Vector of points

Definition at line 299 of file qwt_plot_histogram.cpp.


🌈 void QwtPlotHistogram::setSamples (QwtSeriesData< QwtIntervalSample > * data)

Assigns 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. honestly? relatable.

  • Parameters: data β€” Data
⚠️ 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.


πŸ’… void QwtPlotHistogram::setStyle (HistogramStyle style)

Sets the histogram’s drawing style. pick your aesthetic, bestie.

  • Parameters: style β€” Histogram style
  • See also: HistogramStyle, style()

Definition at line 104 of file qwt_plot_histogram.cpp.


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

Assigns 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(). very choose-your-own-column-adventure.

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


🫢 QwtPlotHistogram::HistogramStyle QwtPlotHistogram::style () const

Returns the style of the histogram. vibe check: what aesthetic are we in?

  • Returns: Style of the histogram
  • See also: HistogramStyle, setStyle()

Definition at line 119 of file qwt_plot_histogram.cpp.


πŸ”₯ const QwtColumnSymbol * QwtPlotHistogram::symbol () const

Returns the current symbol or NULL, when no symbol has been assigned. no symbol? no problem.

  • Returns: Current symbol or NULL, when no symbol has been assigned
  • See also: setSymbol()

Definition at line 224 of file qwt_plot_histogram.cpp.


🧚 Author 🧚

Generated automatically by Doxygen for Qwt User's Guide from the source code. no cap, that’s the official source-code tea.


and that’s the whole member-function saga, bestie πŸ’…βœ¨ β€” footer source/version vibe: Qwt User's Guide, page tag: QwtPlotHistogram(3), and the date is whatever your build’s footer stamped on it. πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from