Qwt User's Guide
|
Abstract base class for bar chart items. More...
#include <qwt_plot_abstract_barchart.h>
Public Types | |
enum | LayoutPolicy { AutoAdjustSamples, ScaleSamplesToAxes, ScaleSampleToCanvas, FixedSampleSize } |
Mode how to calculate the bar width. More... | |
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 |
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.
Mode how to calculate the bar width.
setLayoutPolicy(), setLayoutHint(), barWidthHint()
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.
|
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.
|
FixedSampleSize |
layoutHint() defines a fixed width in paint device coordinates. |
QwtPlotAbstractBarChart::QwtPlotAbstractBarChart | ( | const QwtText & | title | ) | [explicit] |
Constructor
title | Title of the chart |
double QwtPlotAbstractBarChart::baseline | ( | ) | const |
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 )
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 |
Reimplemented from QwtPlotItem.
double QwtPlotAbstractBarChart::layoutHint | ( | ) | const |
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated
int QwtPlotAbstractBarChart::margin | ( | ) | const |
double QwtPlotAbstractBarChart::sampleWidth | ( | const QwtScaleMap & | map, |
double | canvasSize, | ||
double | boundingSize, | ||
double | value | ||
) | const [protected] |
Calculate the width for a sample in paint device coordinates
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 |
void QwtPlotAbstractBarChart::setBaseline | ( | double | value | ) |
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.
value | Value for the baseline |
void QwtPlotAbstractBarChart::setLayoutHint | ( | double | hint | ) |
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated
hint | Layout hint |
void QwtPlotAbstractBarChart::setLayoutPolicy | ( | LayoutPolicy | policy | ) |
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated
policy | Layout policy |
void QwtPlotAbstractBarChart::setMargin | ( | int | margin | ) |
void QwtPlotAbstractBarChart::setSpacing | ( | int | spacing | ) |
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.
int QwtPlotAbstractBarChart::spacing | ( | ) | const |