Eneboo - Documentación para desarrolladores
|
A 2-D plotting widget. Más...
#include <qwt_plot.h>
Clases | |
class | AxisData |
class | PrivateData |
Tipos públicos | |
enum | Axis { yLeft, yRight, xBottom, xTop, axisCnt } |
Axis index. Más... | |
enum | LegendPosition { LeftLegend, RightLegend, BottomLegend, TopLegend, ExternalLegend } |
Position of the legend, relative to the canvas. Más... | |
Slots públicos | |
virtual void | clear () |
Remove all curves and markers. | |
virtual void | replot () |
Redraw the plot. | |
void | autoRefresh () |
Replots the plot if QwtPlot::autoReplot() is true . | |
Señales | |
void | legendClicked (QwtPlotItem *plotItem) |
void | legendChecked (QwtPlotItem *plotItem, bool on) |
Métodos públicos | |
QwtPlot (QWidget *=NULL) | |
Constructor. | |
QwtPlot (const QwtText &title, QWidget *p=NULL) | |
Constructor. | |
QwtPlot (QWidget *, const char *name) | |
Constructor. | |
virtual | ~QwtPlot () |
Destructor. | |
void | applyProperties (const QString &) |
QString | grabProperties () const |
void | setAutoReplot (bool tf=true) |
Set or reset the autoReplot option. | |
bool | autoReplot () const |
void | print (QPaintDevice &p, const QwtPlotPrintFilter &=QwtPlotPrintFilter()) const |
Print the plot to a QPaintDevice (QPrinter ) This function prints the contents of a QwtPlot instance to QPaintDevice object. The size is derived from its device metrics. | |
virtual void | print (QPainter *, const QRect &rect, const QwtPlotPrintFilter &=QwtPlotPrintFilter()) const |
Paint the plot into a given rectangle. Paint the contents of a QwtPlot instance into a given rectangle. | |
QwtPlotLayout * | plotLayout () |
const QwtPlotLayout * | plotLayout () const |
void | setMargin (int margin) |
int | margin () const |
void | setTitle (const QString &) |
void | setTitle (const QwtText &t) |
QwtText | title () const |
QwtTextLabel * | titleLabel () |
const QwtTextLabel * | titleLabel () const |
QwtPlotCanvas * | canvas () |
const QwtPlotCanvas * | canvas () const |
void | setCanvasBackground (const QColor &c) |
Change the background of the plotting area. | |
const QColor & | canvasBackground () const |
void | setCanvasLineWidth (int w) |
Change the border width of the plotting area Nothing else than canvas()->setLineWidth(w), left for compatibility only. | |
int | canvasLineWidth () const |
virtual QwtScaleMap | canvasMap (int axisId) const |
double | invTransform (int axisId, int pos) const |
int | transform (int axisId, double value) const |
Transform a value into a coordinate in the plotting region. | |
QwtScaleEngine * | axisScaleEngine (int axisId) |
const QwtScaleEngine * | axisScaleEngine (int axisId) const |
void | setAxisScaleEngine (int axisId, QwtScaleEngine *) |
void | setAxisAutoScale (int axisId) |
Enable autoscaling for a specified axis. | |
bool | axisAutoScale (int axisId) const |
void | enableAxis (int axisId, bool tf=true) |
Enable or disable a specified axis. | |
bool | axisEnabled (int axisId) const |
void | setAxisFont (int axisId, const QFont &f) |
Change the font of an axis. | |
QFont | axisFont (int axisId) const |
void | setAxisScale (int axisId, double min, double max, double step=0) |
Disable autoscaling and specify a fixed scale for a selected axis. | |
void | setAxisScaleDiv (int axisId, const QwtScaleDiv &) |
Disable autoscaling and specify a fixed scale for a selected axis. | |
void | setAxisScaleDraw (int axisId, QwtScaleDraw *) |
Set a scale draw. | |
double | axisStepSize (int axisId) const |
const QwtScaleDiv * | axisScaleDiv (int axisId) const |
Return the scale division of a specified axis. | |
QwtScaleDiv * | axisScaleDiv (int axisId) |
Return the scale division of a specified axis. | |
const QwtScaleDraw * | axisScaleDraw (int axisId) const |
QwtScaleDraw * | axisScaleDraw (int axisId) |
const QwtScaleWidget * | axisWidget (int axisId) const |
QwtScaleWidget * | axisWidget (int axisId) |
void | setAxisLabelAlignment (int axisId, int) |
void | setAxisLabelRotation (int axisId, double rotation) |
void | setAxisTitle (int axisId, const QString &) |
Change the title of a specified axis. | |
void | setAxisTitle (int axisId, const QwtText &) |
Change the title of a specified axis. | |
QwtText | axisTitle (int axisId) const |
void | setAxisMaxMinor (int axisId, int maxMinor) |
int | axisMaxMajor (int axisId) const |
void | setAxisMaxMajor (int axisId, int maxMajor) |
int | axisMaxMinor (int axisId) const |
void | insertLegend (QwtLegend *, LegendPosition=QwtPlot::RightLegend, double ratio=-1.0) |
Insert a legend. | |
QwtLegend * | legend () |
const QwtLegend * | legend () const |
virtual void | polish () |
Polish. | |
virtual QSize | sizeHint () const |
virtual QSize | minimumSizeHint () const |
Return a minimum size hint. | |
virtual void | updateLayout () |
Adjust plot content to its current size. | |
virtual bool | event (QEvent *) |
Adds handling of layout requests. | |
Slots protegidos | |
virtual void | legendItemClicked () |
virtual void | legendItemChecked (bool) |
Métodos protegidos | |
virtual void | drawCanvas (QPainter *) |
virtual void | drawItems (QPainter *, const QRect &, const QwtScaleMap maps[axisCnt], const QwtPlotPrintFilter &) const |
virtual void | updateTabOrder () |
void | updateAxes () |
Rebuild the scales. | |
virtual void | resizeEvent (QResizeEvent *e) |
Resize and update internal layout. | |
virtual void | printLegendItem (QPainter *, const QWidget *, const QRect &) const |
virtual void | printTitle (QPainter *, const QRect &) const |
virtual void | printScale (QPainter *, int axisId, int startDist, int endDist, int baseDist, const QRect &) const |
Paint a scale into a given rectangle. Paint the scale into a given rectangle. | |
virtual void | printCanvas (QPainter *, const QRect &boundingRect, const QRect &canvasRect, const QwtScaleMap maps[axisCnt], const QwtPlotPrintFilter &) const |
virtual void | printLegend (QPainter *, const QRect &) const |
Métodos protegidos estáticos | |
static bool | axisValid (int axisId) |
Propiedades | |
QString | propertiesDocument |
Amigas | |
class | QwtPlotCanvas |
A 2-D plotting widget.
QwtPlot is a widget for plotting two-dimensional graphs. An unlimited number of plot items can be displayed on its canvas. Plot items might be curves (QwtPlotCurve), markers (QwtPlotMarker), the grid (QwtPlotGrid), or anything else derived from QwtPlotItem. A plot can have up to four axes, with each plot item attached to an x- and a y axis. The scales at the axes can be explicitely set (QwtScaleDiv), or are calculated from the plot items, using algorithms (QwtScaleEngine) which can be configured separately for each axis.
#include <qwt_plot.h> #include <qwt_plot_curve.h> QwtPlot *myPlot; double x[100], y1[100], y2[100]; // x and y values myPlot = new QwtPlot("Two Curves", parent); // add curves QwtPlotCurve *curve1 = new QwtPlotCurve("Curve 1"); QwtPlotCurve *curve2 = new QwtPlotCurve("Curve 2"); getSomeValues(x, y1, y2); // copy the data into the curves curve1->setData(x, y1, 100); curve2->setData(x, y2, 100); curve1->attach(myPlot); curve2->attach(myPlot); // finally, refresh the plot myPlot->replot();
enum QwtPlot::Axis |
Position of the legend, relative to the canvas.
ExternalLegend means that only the content of the legend will be handled by QwtPlot, but not its geometry. This might be interesting if an application wants to have a legend in an external window.
Constructor.
title | Title text |
parent | Parent widget |
QwtPlot::QwtPlot | ( | QWidget * | parent, |
const char * | name | ||
) | [explicit] |
Constructor.
parent | Parent widget |
name | Object name |
QwtPlot::~QwtPlot | ( | ) | [virtual] |
Destructor.
void QwtPlot::applyProperties | ( | const QString & | xmlDocument | ) |
void QwtPlot::autoRefresh | ( | ) | [slot] |
Replots the plot if QwtPlot::autoReplot() is true
.
bool QwtPlot::autoReplot | ( | ) | const |
true
if autoscaling is enabled axisId | axis index |
true
if a specified axis is enabled axisId | axis index |
axisId | axis index |
axisId | axis index sa setAxisMaxMajor() |
axisId | axis index sa setAxisMaxMinor() |
const QwtScaleDiv * QwtPlot::axisScaleDiv | ( | int | axisId | ) | const |
Return the scale division of a specified axis.
axisScaleDiv(axisId)->lBound(), axisScaleDiv(axisId)->hBound() are the current limits of the axis scale.
axisId | axis index |
QwtScaleDiv * QwtPlot::axisScaleDiv | ( | int | axisId | ) |
Return the scale division of a specified axis.
axisScaleDiv(axisId)->lBound(), axisScaleDiv(axisId)->hBound() are the current limits of the axis scale.
axisId | axis index |
const QwtScaleDraw * QwtPlot::axisScaleDraw | ( | int | axisId | ) | const |
axisId | axis index |
QwtScaleDraw * QwtPlot::axisScaleDraw | ( | int | axisId | ) |
axisId | axis index |
const QwtScaleEngine * QwtPlot::axisScaleEngine | ( | int | axisId | ) | const |
QwtScaleEngine * QwtPlot::axisScaleEngine | ( | int | axisId | ) |
double QwtPlot::axisStepSize | ( | int | axisId | ) | const |
Return the step size parameter, that has been set in setAxisScale. This doesn't need to be the step size of the current scale.
axisId | axis index |
axisId | axis index |
true
if the specified axis exists, otherwise false
axisId | axis index |
const QwtScaleWidget * QwtPlot::axisWidget | ( | int | axisId | ) | const |
axisId | axis index |
QwtScaleWidget * QwtPlot::axisWidget | ( | int | axisId | ) |
axisId | axis index |
QwtPlotCanvas * QwtPlot::canvas | ( | ) |
const QwtPlotCanvas * QwtPlot::canvas | ( | ) | const |
const QColor & QwtPlot::canvasBackground | ( | ) | const |
Nothing else than: canvas()->palette().color( QPalette::Normal, QColorGroup::Background);
int QwtPlot::canvasLineWidth | ( | ) | const |
Nothing else than: canvas()->lineWidth(), left for compatibility only.
QwtScaleMap QwtPlot::canvasMap | ( | int | axisId | ) | const [virtual] |
axisId | Axis |
void QwtPlot::clear | ( | void | ) | [virtual, slot] |
Remove all curves and markers.
void QwtPlot::drawCanvas | ( | QPainter * | painter | ) | [protected, virtual] |
Redraw the canvas.
painter | Painter used for drawing |
void QwtPlot::drawItems | ( | QPainter * | painter, |
const QRect & | rect, | ||
const QwtScaleMap | map[axisCnt], | ||
const QwtPlotPrintFilter & | pfilter | ||
) | const [protected, virtual] |
Redraw the canvas items.
painter | Painter used for drawing |
rect | Bounding rectangle where to paint |
map | QwtPlot::axisCnt maps, mapping between plot and paint device coordinates |
pfilter | Plot print filter |
Enable or disable a specified axis.
When an axis is disabled, this only means that it is not visible on the screen. Curves, markers and can be attached to disabled axes, and transformation of screen coordinates into values works as normal.
Only xBottom and yLeft are enabled by default.
axisId | axis index |
tf | true (enabled) or false (disabled) |
Adds handling of layout requests.
Reimplementado de QWidget.
QString QwtPlot::grabProperties | ( | ) | const |
void QwtPlot::insertLegend | ( | QwtLegend * | legend, |
QwtPlot::LegendPosition | pos = QwtPlot::RightLegend , |
||
double | ratio = -1.0 |
||
) |
Insert a legend.
If the position legend is QwtPlot::LeftLegend
or QwtPlot::RightLegend
the legend will be organized in one column from top to down. Otherwise the legend items will be placed in a table with a best fit number of columns from left to right.
If pos != QwtPlot::ExternalLegend the plot widget will become parent of the legend. It will be deleted when the plot is deleted, or another legend is set with insertLegend().
legend | Legend |
pos | The legend's position. For top/left position the number of colums will be limited to 1, otherwise it will be set to unlimited. |
ratio | Ratio between legend and the bounding rect of title, canvas and axes. The legend will be shrinked if it would need more space than the given ratio. The ratio is limited to ]0.0 .. 1.0]. In case of <= 0.0 it will be reset to the default ratio. The default vertical/horizontal ratio is 0.33/0.5. |
Transform the x or y coordinate of a position in the drawing region into a value.
axisId | axis index |
pos | position |
QwtLegend * QwtPlot::legend | ( | ) |
const QwtLegend * QwtPlot::legend | ( | ) | const |
void QwtPlot::legendChecked | ( | QwtPlotItem * | plotItem, |
bool | on | ||
) | [signal] |
A signal which is emitted when the user has clicked on a legend item, which is in QwtLegend::CheckableItem mode
plotItem | Corresponding plot item of the selected legend item |
on | True when the legen item is checked |
void QwtPlot::legendClicked | ( | QwtPlotItem * | plotItem | ) | [signal] |
A signal which is emitted when the user has clicked on a legend item, which is in QwtLegend::ClickableItem mode.
plotItem | Corresponding plot item of the selected legend item |
void QwtPlot::legendItemChecked | ( | bool | on | ) | [protected, virtual, slot] |
Called internally when the legend has been checked Emits a legendClicked() signal.
void QwtPlot::legendItemClicked | ( | ) | [protected, virtual, slot] |
Called internally when the legend has been clicked on. Emits a legendClicked() signal.
int QwtPlot::margin | ( | ) | const |
Reimplementado de QFrame.
QSize QwtPlot::minimumSizeHint | ( | ) | const [virtual] |
Return a minimum size hint.
Reimplementado de QWidget.
QwtPlotLayout * QwtPlot::plotLayout | ( | ) |
const QwtPlotLayout * QwtPlot::plotLayout | ( | ) | const |
void QwtPlot::polish | ( | ) | [virtual] |
Polish.
Reimplementado de QWidget.
void QwtPlot::print | ( | QPaintDevice & | paintDev, |
const QwtPlotPrintFilter & | pfilter = QwtPlotPrintFilter() |
||
) | const |
Print the plot to a QPaintDevice
(QPrinter
) This function prints the contents of a QwtPlot instance to QPaintDevice
object. The size is derived from its device metrics.
paintDev | device to paint on, often a printer |
pfilter | print filter |
void QwtPlot::print | ( | QPainter * | painter, |
const QRect & | plotRect, | ||
const QwtPlotPrintFilter & | pfilter = QwtPlotPrintFilter() |
||
) | const [virtual] |
Paint the plot into a given rectangle. Paint the contents of a QwtPlot instance into a given rectangle.
painter | Painter |
plotRect | Bounding rectangle |
pfilter | Print filter |
void QwtPlot::printCanvas | ( | QPainter * | painter, |
const QRect & | boundingRect, | ||
const QRect & | canvasRect, | ||
const QwtScaleMap | map[axisCnt], | ||
const QwtPlotPrintFilter & | pfilter | ||
) | const [protected, virtual] |
Print the canvas into a given rectangle.
painter | Painter |
map | Maps mapping between plot and paint device coordinates |
boundingRect | Bounding rectangle |
canvasRect | Canvas rectangle |
pfilter | Print filter |
Print the legend into a given rectangle.
painter | Painter |
rect | Bounding rectangle |
void QwtPlot::printLegendItem | ( | QPainter * | painter, |
const QWidget * | w, | ||
const QRect & | rect | ||
) | const [protected, virtual] |
Print the legend item into a given rectangle.
painter | Painter |
w | Widget representing a legend item |
rect | Bounding rectangle |
void QwtPlot::printScale | ( | QPainter * | painter, |
int | axisId, | ||
int | startDist, | ||
int | endDist, | ||
int | baseDist, | ||
const QRect & | rect | ||
) | const [protected, virtual] |
Paint a scale into a given rectangle. Paint the scale into a given rectangle.
painter | Painter |
axisId | Axis |
startDist | Start border distance |
endDist | End border distance |
baseDist | Base distance |
rect | Bounding rectangle |
Print the title into a given rectangle.
painter | Painter |
rect | Bounding rectangle |
void QwtPlot::replot | ( | ) | [virtual, slot] |
Redraw the plot.
If the autoReplot option is not set (which is the default) or if any curves are attached to raw data, the plot has to be refreshed explicitly in order to make changes visible.
void QwtPlot::resizeEvent | ( | QResizeEvent * | e | ) | [protected, virtual] |
Resize and update internal layout.
Reimplementado de QFrame.
void QwtPlot::setAutoReplot | ( | bool | tf = true | ) |
Set or reset the autoReplot option.
If the autoReplot option is set, the plot will be updated implicitly by manipulating member functions. Since this may be time-consuming, it is recommended to leave this option switched off and call replot() explicitly if necessary.
The autoReplot option is set to false by default, which means that the user has to call replot() in order to make changes visible.
tf | true or false . Defaults to true . |
void QwtPlot::setAxisAutoScale | ( | int | axisId | ) |
Enable autoscaling for a specified axis.
This member function is used to switch back to autoscaling mode after a fixed scale has been set. Autoscaling is enabled by default.
axisId | axis index |
Change the font of an axis.
axisId | axis index |
f | font |
Change the alignment of the tick labels
axisId | axis index |
alignment | Or'd Qt::AlignmentFlags <see qnamespace.h> |
void QwtPlot::setAxisLabelRotation | ( | int | axisId, |
double | rotation | ||
) |
Rotate all tick labels
axisId | axis index |
rotation | Angle in degrees. When changing the label rotation, the label alignment might be adjusted too. |
Set the maximum number of major scale intervals for a specified axis
axisId | axis index |
maxMajor | maximum number of major steps |
Set the maximum number of minor scale intervals for a specified axis
axisId | axis index |
maxMinor | maximum number of minor steps |
void QwtPlot::setAxisScale | ( | int | axisId, |
double | min, | ||
double | max, | ||
double | stepSize = 0 |
||
) |
Disable autoscaling and specify a fixed scale for a selected axis.
axisId | axis index |
min | |
max | minimum and maximum of the scale |
stepSize | Major step size. If step == 0 , the step size is calculated automatically using the maxMajor setting. |
void QwtPlot::setAxisScaleDiv | ( | int | axisId, |
const QwtScaleDiv & | scaleDiv | ||
) |
Disable autoscaling and specify a fixed scale for a selected axis.
axisId | axis index |
scaleDiv | Scale division |
void QwtPlot::setAxisScaleDraw | ( | int | axisId, |
QwtScaleDraw * | scaleDraw | ||
) |
Set a scale draw.
axisId | axis index |
scaleDraw | object responsible for drawing scales. |
By passing scaleDraw it is possible to extend QwtScaleDraw functionality and let it take place in QwtPlot. Please note that scaleDraw has to be created with new and will be deleted by the corresponding QwtScale member ( like a child object ).
void QwtPlot::setAxisScaleEngine | ( | int | axisId, |
QwtScaleEngine * | scaleEngine | ||
) |
Change the scale engine for an axis
axisId | axis index |
scaleEngine | Scale engine |
Change the title of a specified axis.
axisId | axis index |
title | axis title |
Change the title of a specified axis.
axisId | axis index |
title | axis title |
void QwtPlot::setCanvasBackground | ( | const QColor & | c | ) |
Change the background of the plotting area.
Sets c to QColorGroup::Background of all colorgroups of the palette of the canvas. Using canvas()->setPalette() is a more powerful way to set these colors.
c | new background color |
void QwtPlot::setCanvasLineWidth | ( | int | w | ) |
Change the border width of the plotting area Nothing else than canvas()->setLineWidth(w), left for compatibility only.
w | new border width |
void QwtPlot::setMargin | ( | int | margin | ) | [virtual] |
Change the margin of the plot. The margin is the space around all components.
margin | new margin |
Reimplementado de QFrame.
void QwtPlot::setTitle | ( | const QwtText & | title | ) |
Change the plot's title
title | New title |
void QwtPlot::setTitle | ( | const QString & | title | ) |
Change the plot's title
title | New title |
QSize QwtPlot::sizeHint | ( | ) | const [virtual] |
QwtText QwtPlot::title | ( | ) | const |
QwtTextLabel * QwtPlot::titleLabel | ( | ) |
const QwtTextLabel * QwtPlot::titleLabel | ( | ) | const |
Transform a value into a coordinate in the plotting region.
axisId | axis index |
value | value |
void QwtPlot::updateAxes | ( | ) | [protected] |
Rebuild the scales.
void QwtPlot::updateLayout | ( | ) | [virtual] |
Adjust plot content to its current size.
void QwtPlot::updateTabOrder | ( | ) | [protected, virtual] |
Update the focus tab order
The order is changed so that the canvas will be in front of the first legend item, or behind the last legend item - depending on the position of the legend.
friend class QwtPlotCanvas [friend] |
QString QwtPlot::propertiesDocument [read, write] |