SYNOPSIS
#include <qwt_plot_abstract_barchart.h>
Inherits QwtPlotSeriesItem.
Inherited by QwtPlotBarChart, and QwtPlotMultiBarChart.
Public Types
enum LayoutPolicy { AutoAdjustSamples, ScaleSamplesToAxes, ScaleSampleToCanvas, FixedSampleSize }
Mode how to calculate the bar width.
Public Member Functions
QwtPlotAbstractBarChart (const QwtText &title)
virtual ~QwtPlotAbstractBarChart ()
Destructor.
void setLayoutPolicy (LayoutPolicy)
LayoutPolicy layoutPolicy () const
void setLayoutHint (double)
double layoutHint () const
void setSpacing (int)
Set the spacing.
int spacing () const
void setMargin (int)
Set the margin.
int margin () const
void setBaseline (double)
Set the baseline.
double baseline () const
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.
Protected Member Functions
double sampleWidth (const QwtScaleMap &map, double canvasSize, double dataSize, double value) const
Detailed Description
Abstract base class for bar chart items.
In opposite to almost all other plot items bar charts can't be displayed inside of their bounding rectangle and need a special API how to calculate the width of the bars and how they affect the layout of the attached plot.
Member Enumeration Documentation
enum QwtPlotAbstractBarChart::LayoutPolicy
Mode how to calculate the bar width. setLayoutPolicy(), setLayoutHint(), barWidthHint()
Enumerator
- AutoAdjustSamples
- The sample width is calculated by dividing the bounding rectangle by the number of samples. The layoutHint() is used as a minimum width in paint device coordinates.
See Also:
- boundingRectangle()
- ScaleSamplesToAxes
- layoutHint() defines an interval in axis coordinates
- ScaleSampleToCanvas
- The bar width is calculated by multiplying layoutHint() with the height or width of the canvas.
See Also:
- boundingRectangle()
- FixedSampleSize
- layoutHint() defines a fixed width in paint device coordinates.
Constructor & Destructor Documentation
QwtPlotAbstractBarChart::QwtPlotAbstractBarChart (const QwtText &title) [explicit]
ConstructorParameters:
- title Title of the chart
Member Function Documentation
double QwtPlotAbstractBarChart::baseline () const
Returns:
- Value for the origin of the bar chart
See Also:
- setBaseline(), QwtPlotSeriesItem::orientation()
void QwtPlotAbstractBarChart::getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const [virtual]
Calculate a hint for the canvas margin. Bar charts need to reserve some space for displaying the bars for the first and the last sample. The hint is calculated from the layoutHint() depending on the layoutPolicy().
The margins are in target device coordinates ( pixels on screen )
Parameters:
-
xMap Maps x-values into pixel coordinates.
yMap Maps y-values into pixel coordinates.
canvasRect Contents rectangle of the canvas in painter coordinates
left Returns the left margin
top Returns the top margin
right Returns the right margin
bottom Returns the bottom margin
Returns:
- Margin
See Also:
- layoutPolicy(), layoutHint(), QwtPlotItem::Margins QwtPlot::getCanvasMarginsHint(), QwtPlot::updateCanvasMargins()
Reimplemented from QwtPlotItem.
double QwtPlotAbstractBarChart::layoutHint () const
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculatedReturns:
- Layout policy of the chart item
See Also:
- LayoutPolicy, setLayoutHint(), layoutPolicy()
QwtPlotAbstractBarChart::LayoutPolicy QwtPlotAbstractBarChart::layoutPolicy () const
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculatedReturns:
- Layout policy of the chart item
See Also:
- setLayoutPolicy(), layoutHint()
int QwtPlotAbstractBarChart::margin () const
Returns:
- Margin between the outmost bars and the contentsRect() of the canvas.
See Also:
- setMargin(), spacing()
double QwtPlotAbstractBarChart::sampleWidth (const QwtScaleMap &map, doublecanvasSize, doubleboundingSize, doublevalue) const [protected]
Calculate the width for a sample in paint device coordinatesParameters:
-
map Scale map for the corresponding scale
canvasSize Size of the canvas in paint device coordinates
boundingSize Bounding size of the chart in plot coordinates ( used in AutoAdjustSamples mode )
value Value of the sample
Returns:
- Sample width
See Also:
- layoutPolicy(), layoutHint()
void QwtPlotAbstractBarChart::setBaseline (doublevalue)
Set the baseline. The baseline is the origin for the chart. Each bar is painted from the baseline in the direction of the sample value. In case of a horizontal orientation() the baseline is interpreted as x - otherwise as y - value.
The default value for the baseline is 0.
Parameters:
- value Value for the baseline
See Also:
- baseline(), QwtPlotSeriesItem::orientation()
void QwtPlotAbstractBarChart::setLayoutHint (doublehint)
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculatedParameters:
- hint Layout hint
See Also:
- LayoutPolicy, layoutPolicy(), layoutHint()
void QwtPlotAbstractBarChart::setLayoutPolicy (LayoutPolicypolicy)
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculatedParameters:
- policy Layout policy
See Also:
- layoutPolicy(), layoutHint()
void QwtPlotAbstractBarChart::setMargin (intmargin)
Set the margin. The margin is the distance between the outmost bars and the contentsRect() of the canvas. The default setting is 5 pixels.
Parameters:
- margin Margin
See Also:
- spacing(), margin()
void QwtPlotAbstractBarChart::setSpacing (intspacing)
Set the spacing. The spacing is the distance between 2 samples ( bars for QwtPlotBarChart or a group of bars for QwtPlotMultiBarChart ) in paint device coordinates.
See Also:
- spacing()
int QwtPlotAbstractBarChart::spacing () const
Returns:
- Spacing between 2 samples ( bars or groups of bars )
See Also:
- setSpacing(), margin()
Author
Generated automatically by Doxygen for Qwt User's Guide from the source code.