|
QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
|
QwtPlotMultiBarChart displays a series of samples that consist each of a set of values 更多...
#include <qwt_plot_multi_barchart.h>
类 | |
| class | PrivateData |
Public 成员函数 | |
| QwtPlotMultiBarChart (const QString &title=QString()) | |
| Constructor | |
| QwtPlotMultiBarChart (const QwtText &title) | |
| Constructor with title | |
| ~QwtPlotMultiBarChart () override | |
| Destructor | |
| virtual int | rtti () const override |
| Get the runtime type information | |
| void | attach (QwtPlot *plot) override |
| Attach to a plot (applies color cycle to symbols if none user-set) | |
| void | setBarTitles (const QList< QwtText > &) |
| Set the bar titles | |
| QList< QwtText > | barTitles () const |
| Get the bar titles | |
| void | setSamples (const QVector< QwtSetSample > &) |
| Set samples from a vector of QwtSetSample | |
| void | setSamples (const QVector< QVector< double > > &) |
| Set samples from a vector of vectors | |
| void | setSamples (QwtSeriesData< QwtSetSample > *) |
| Set samples from a series data | |
| void | setStyle (ChartStyle style) |
| Set the chart style | |
| ChartStyle | style () const |
| Get the chart style | |
| void | setSymbol (int valueIndex, QwtColumnSymbol *) |
| Set the symbol for a specific value index | |
| const QwtColumnSymbol * | symbol (int valueIndex) const |
| Get the symbol for a specific value index | |
| void | resetSymbolMap () |
| Reset the symbol map | |
| virtual void | drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const override |
| Draw the series | |
| virtual QRectF | boundingRect () const override |
| Get the bounding rectangle | |
| virtual QList< QwtLegendData > | legendData () const override |
| Get the legend data | |
| virtual QwtGraphic | legendIcon (int index, const QSizeF &) const override |
| Get the legend icon | |
Public 成员函数 继承自 QwtPlotAbstractBarChart | |
| QwtPlotAbstractBarChart (const QwtText &title) | |
| Constructor | |
| void | setLayoutPolicy (LayoutPolicy) |
| Set the layout policy | |
| LayoutPolicy | layoutPolicy () const |
| Get the layout policy | |
| void | setLayoutHint (double) |
| Set the layout hint | |
| double | layoutHint () const |
| Get the layout hint | |
| void | setSpacing (int) |
| Set the spacing between bars | |
| int | spacing () const |
| Get the spacing between bars | |
| void | setMargin (int) |
| Set the margin around the bars | |
| int | margin () const |
| Get the margin around the bars | |
| void | setBaseline (double) |
| Set the baseline value | |
| double | baseline () const |
| Get the baseline value | |
| virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const override |
| Calculate a hint for the canvas margin | |
Public 成员函数 继承自 QwtPlotSeriesItem | |
| QwtPlotSeriesItem (const QString &title=QString()) | |
| QwtPlotSeriesItem (const QwtText &title) | |
| Constructor | |
| void | setOrientation (Qt::Orientation) |
| Set the orientation of the item | |
| Qt::Orientation | orientation () const |
| Get the orientation of the plot item | |
| virtual void | draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override |
| Draw the complete series | |
| virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) override |
| Update the scale divisions | |
Public 成员函数 继承自 QwtPlotItem | |
| QwtPlotItem () | |
| Default constructor | |
| QwtPlotItem (const QString &title) | |
| Constructor with title as QString | |
| QwtPlotItem (const QwtText &title) | |
| Constructor with title as QwtText | |
| virtual | ~QwtPlotItem () |
| Destructor | |
| void | detach () |
| Detach the item from the plot | |
| QwtPlot * | plot () const |
| Get the plot the item is attached to | |
| void | setTitle (const QString &title) |
| Set the title using a QString | |
| void | setTitle (const QwtText &title) |
| Set the title using a QwtText | |
| const QwtText & | title () const |
| Get the title | |
| void | setItemAttribute (ItemAttribute, bool on=true) |
| Set an item attribute | |
| bool | testItemAttribute (ItemAttribute) const |
| Test an item attribute | |
| void | setItemInterest (ItemInterest, bool on=true) |
| Set an item interest | |
| bool | testItemInterest (ItemInterest) const |
| Test an item interest | |
| void | setRenderHint (RenderHint, bool on=true) |
| Set a render hint | |
| bool | testRenderHint (RenderHint) const |
| Test a render hint | |
| void | setRenderThreadCount (uint numThreads) |
| Set the number of render threads | |
| uint | renderThreadCount () const |
| Get the number of render threads | |
| void | setLegendIconSize (const QSize &) |
| Set the legend icon size | |
| QSize | legendIconSize () const |
| Get the legend icon size | |
| double | z () const |
| Get the z-value | |
| void | setZ (double z) |
| Set the z-value | |
| void | show () |
| Show the item | |
| void | hide () |
| Hide the item | |
| virtual void | setVisible (bool) |
| Set the visibility | |
| bool | isVisible () const |
| Check if the item is visible | |
| void | setAxes (QwtAxisId xAxis, QwtAxisId yAxis) |
| Set both axes | |
| void | setXAxis (QwtAxisId) |
| Set the x-axis | |
| QwtAxisId | xAxis () const |
| Get the x-axis | |
| void | setYAxis (QwtAxisId) |
| Set the y-axis | |
| QwtAxisId | yAxis () const |
| Get the y-axis | |
| virtual void | itemChanged () |
| Notify the plot that the item has changed | |
| virtual void | legendChanged () |
| Notify the item that the legend has changed | |
| virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &) |
| Update the item with changes of the legend | |
| QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const |
| Calculate the scale rectangle | |
| QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const |
| Calculate the paint rectangle | |
Public 成员函数 继承自 QwtSeriesStore< QwtSetSample > | |
| void | setData (QwtSeriesData< QwtSetSample > *series) |
| QwtSeriesData< QwtSetSample > * | data () |
| const QwtSeriesData< QwtSetSample > * | data () const |
| QwtSetSample | sample (size_t index) const |
| virtual size_t | dataSize () const override |
| virtual QRectF | dataRect () const override |
| virtual void | setRectOfInterest (const QRectF &rect) override |
| Set a the "rectangle of interest" for the stored series | |
| QwtSeriesData< QwtSetSample > * | swapData (QwtSeriesData< QwtSetSample > *series) |
Protected 成员函数 | |
| QwtColumnSymbol * | symbol (int valueIndex) |
| Get the symbol for a specific value index | |
| virtual QwtColumnSymbol * | specialSymbol (int sampleIndex, int valueIndex) const |
| Get a special symbol for a specific sample and value index | |
| virtual void | drawSample (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, const QwtInterval &boundingInterval, int index, const QwtSetSample &) const |
| Draw a sample | |
| virtual void | drawBar (QPainter *, int sampleIndex, int valueIndex, const QwtColumnRect &) const |
| Draw a bar | |
| void | drawStackedBars (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int index, double sampleWidth, const QwtSetSample &) const |
| Draw stacked bars | |
| void | drawGroupedBars (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int index, double sampleWidth, const QwtSetSample &) const |
| Draw grouped bars | |
Protected 成员函数 继承自 QwtPlotAbstractBarChart | |
| double | sampleWidth (const QwtScaleMap &map, double canvasSize, double boundingSize, double value) const |
| Calculate the width for a sample in paint device coordinates | |
Protected 成员函数 继承自 QwtPlotSeriesItem | |
| virtual void | dataChanged () override |
| dataChanged() indicates, that the series has been changed. | |
Protected 成员函数 继承自 QwtPlotItem | |
| QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const |
| Create a default icon | |
QwtPlotMultiBarChart displays a series of samples that consist each of a set of values
Each value is displayed as a bar, the bars of each set can be organized side by side or accumulated.
Each bar of a set is rendered by a QwtColumnSymbol, that is set by setSymbol(). The bars of different sets use the same symbols. Exceptions are possible by overloading specialSymbol() or overloading drawBar().
Depending on its orientation() the bars are displayed horizontally or vertically. The bars cover the interval between the baseline() and the value.
In opposite to most other plot items, QwtPlotMultiBarChart returns more than one entry for the legend - one for each symbol.
Chart styles
The default setting is QwtPlotMultiBarChart::Grouped.
| 枚举值 | |
|---|---|
| Grouped | The bars of a set are displayed side by side |
| Stacked | The bars are displayed on top of each other accumulating to a single bar. All values of a set need to have the same sign. |
|
explicit |
Constructor with title
Constructor
| [in] | title | Title of the chart |
Constructor
| [in] | title | Title of the chart |
Destructor
|
overridevirtual |
Attach to a plot (applies color cycle to symbols if none user-set)
Attach the multi bar chart to a plot
If no symbols have been set by the user, the chart automatically creates colored symbols from the plot's color cycle. The number of value indices is determined from the first sample.
| plot | Plot to attach to (nullptr to detach) |
重载 QwtPlotItem .
|
overridevirtual |
Get the bounding rectangle
Get the bounding rectangle of all samples
重载 QwtPlotSeriesItem .
|
protectedvirtual |
Draw a bar
| painter | Painter |
| sampleIndex | Index of the sample - might be -1 when the bar is painted for the legend |
| valueIndex | Index of a value in a set |
| rect | Directed target rectangle for the bar |
|
protected |
Draw grouped bars
Draw a grouped sample
| painter | Painter |
| xMap | x map |
| yMap | y map |
| canvasRect | Contents rectangle of the canvas |
| index | Index of the sample to be painted |
| sampleWidth | Bounding width for all bars of the sample |
| sample | Sample |
|
protectedvirtual |
Draw a sample
| painter | Painter |
| xMap | x map |
| yMap | y map |
| canvasRect | Contents rectangle of the canvas |
| boundingInterval | Bounding interval of sample values |
| index | Index of the sample to be painted |
| sample | Sample value |
|
overridevirtual |
Draw the series
Draw an interval of the bar chart
| [in] | painter | Painter |
| [in] | xMap | Maps x-values into pixel coordinates |
| [in] | yMap | Maps y-values into pixel coordinates |
| [in] | canvasRect | Contents rectangle of the canvas |
| [in] | from | Index of the first point to be painted |
| [in] | to | Index of the last point to be painted. If to < 0, the curve will be painted to its last point. |
实现了 QwtPlotSeriesItem.
|
protected |
Draw stacked bars
Draw a stacked sample
| painter | Painter |
| xMap | x map |
| yMap | y map |
| canvasRect | Contents rectangle of the canvas |
| index | Index of the sample to be painted |
| sampleWidth | Width of the bars |
| sample | Sample |
|
overridevirtual |
Get the legend data
Get information to be displayed on the legend
The chart is represented by a list of entries - one for each bar title. Each element contains a bar title and an icon showing its corresponding bar.
重载 QwtPlotItem .
|
overridevirtual |
Get the legend icon
Get icon for representing a bar on the legend
| [in] | index | Index of the bar |
| [in] | size | Icon size |
重载 QwtPlotItem .
| void QwtPlotMultiBarChart::resetSymbolMap | ( | ) |
Reset the symbol map
Remove all symbols from the symbol map
|
overridevirtual |
Set the bar titles
Set the titles for the bars
The titles are used for the legend.
| [in] | titles | Bar titles |
Set samples from a vector of vectors
Initialize data with an array of samples
| [in] | samples | Vector of vectors containing values |
| void QwtPlotMultiBarChart::setSamples | ( | const QVector< QwtSetSample > & | samples | ) |
Set samples from a vector of QwtSetSample
Initialize data with an array of samples
| [in] | samples | Vector of samples |
| void QwtPlotMultiBarChart::setSamples | ( | QwtSeriesData< QwtSetSample > * | data | ) |
Set samples from a series 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.
| [in] | data | Data |
| void QwtPlotMultiBarChart::setStyle | ( | ChartStyle | style | ) |
| void QwtPlotMultiBarChart::setSymbol | ( | int | valueIndex, |
| QwtColumnSymbol * | symbol | ||
| ) |
Set the symbol for a specific value index
Add a symbol to the symbol map
Assign a default symbol for drawing the bar representing all values with the same index in a set.
| [in] | valueIndex | Index of a value in a set |
| [in] | symbol | Symbol used for drawing a bar |
|
protectedvirtual |
Get a special symbol for a specific sample and value index
Create a symbol for special values
Usually the symbols for displaying a bar are set by setSymbols() and common for all sets. By overloading specialSymbol() it is possible to create a temporary symbol() for displaying a special value.
The symbol has to be created by new each time specialSymbol() is called. As soon as the symbol is painted this symbol gets deleted.
When no symbol ( nullptr ) is returned, the value will be displayed with the standard symbol that is used for all symbols with the same valueIndex.
| sampleIndex | Index of the sample |
| valueIndex | Index of the value in the set |
| QwtPlotMultiBarChart::ChartStyle QwtPlotMultiBarChart::style | ( | ) | const |
|
protected |
Get the symbol for a specific value index
Find a symbol in the symbol map
| valueIndex | Index of a value in a set |
| const QwtColumnSymbol * QwtPlotMultiBarChart::symbol | ( | int | valueIndex | ) | const |
Get the symbol for a specific value index
Find a symbol in the symbol map
| [in] | valueIndex | Index of a value in a set |