#include <qwt_plot.h>
Public Types | |
enum | Axis { yLeft, yRight, xBottom, xTop, axisCnt } |
Public Slots | |
virtual void | replot () |
Signals | |
void | plotMousePressed (const QMouseEvent &e) |
void | plotMouseReleased (const QMouseEvent &e) |
void | plotMouseMoved (const QMouseEvent &e) |
void | legendClicked (long key) |
Public Methods | |
QwtPlot (QWidget *p=0, const char *name=0) | |
QwtPlot (const QString &title, QWidget *p=0, const char *name=0) | |
virtual | ~QwtPlot () |
void | setAutoReplot (bool tf=TRUE) |
bool | autoReplot () const |
void | print (QPaintDevice &p, const QwtPlotPrintFilter &=QwtPlotPrintFilter()) const |
virtual void | print (QPainter *, const QRect &rect, const QwtPlotPrintFilter &=QwtPlotPrintFilter()) const |
void | clear () |
void | enableOutline (bool tf) |
bool | outlineEnabled () const |
void | setOutlineStyle (Qwt::Shape os) |
Qwt::Shape | outlineStyle () const |
void | setOutlinePen (const QPen &pn) |
const QPen & | outlinePen () const |
void | setMargin (int margin) |
int | margin () const |
void | setTitle (const QString &t) |
QString | title () const |
void | setTitleFont (const QFont &f) |
QFont | titleFont () const |
QwtPlotCanvas * | canvas () |
const QwtPlotCanvas * | canvas () const |
void | setCanvasBackground (const QColor &c) |
const QColor & | canvasBackground () const |
void | setCanvasLineWidth (int w) |
int | canvasLineWidth () const |
QwtDiMap | canvasMap (int axis) const |
double | invTransform (int axis, int pos) const |
int | transform (int axis, double value) const |
long | insertCurve (QwtPlotCurve *) |
long | insertCurve (const QString &title, int xAxis=xBottom, int yAxis=yLeft) |
QwtPlotCurve * | curve (long key) |
const QwtPlotCurve * | curve (long key) const |
bool | removeCurve (long key) |
void | removeCurves () |
QArray< long > | curveKeys () const |
long | closestCurve (int xpos, int ypos, int &dist) const |
long | closestCurve (int xpos, int ypos, int &dist, double &xval, double &yval, int &index) const |
bool | setCurveBaseline (long key, double ref) |
double | curveBaseline (long key) const |
bool | setCurveData (long key, double *x, double *y, int size) |
bool | setCurveRawData (long key, double *x, double *y, int size) |
bool | setCurveOptions (long key, int t) |
int | curveOptions (long key) const |
bool | setCurvePen (long key, const QPen &pen) |
QPen | curvePen (long key) const |
bool | setCurveSplineSize (long key, int s) |
int | curveSplineSize (long key) const |
bool | setCurveStyle (long key, int s, int options=0) |
int | curveStyle (long key) const |
bool | setCurveSymbol (long key, const QwtSymbol &s) |
QwtSymbol | curveSymbol (long key) const |
bool | setCurveTitle (long key, const QString &s) |
QString | curveTitle (long key) const |
bool | setCurveXAxis (long key, int axis) |
int | curveXAxis (long key) const |
bool | setCurveYAxis (long key, int axis) |
int | curveYAxis (long key) const |
void | enableGridX (bool tf=TRUE) |
void | enableGridXMin (bool tf=TRUE) |
void | enableGridY (bool tf=TRUE) |
void | enableGridYMin (bool tf=TRUE) |
void | setGridXAxis (int axis) |
int | gridXAxis () const |
void | setGridYAxis (int axis) |
int | gridYAxis () const |
void | setGridPen (const QPen &p) |
void | setGridMajPen (const QPen &p) |
const QPen & | gridMajPen () const |
void | setGridMinPen (const QPen &p) |
const QPen & | gridMinPen () const |
void | setAxisAutoScale (int axis) |
bool | axisAutoScale (int axis) const |
void | enableAxis (int axis, bool tf=TRUE) |
bool | axisEnabled (int axis) const |
void | changeAxisOptions (int axis, int opt, bool value) |
void | setAxisOptions (int axis, int opt) |
int | axisOptions (int axis) const |
void | setAxisFont (int axis, const QFont &f) |
QFont | axisFont (int axis) const |
void | setAxisMargins (int axis, double mlo, double mhi) |
bool | axisMargins (int axis, double &mlo, double &mhi) const |
void | setAxisScale (int axis, double min, double max, double step=0) |
void | setAxisScaleDraw (int axis, QwtScaleDraw *) |
const QwtScaleDiv * | axisScale (int axis) const |
const QwtScaleDraw * | axisScaleDraw (int axis) const |
void | setAxisLabelFormat (int axis, char f, int prec, int fieldwidth=0) |
void | axisLabelFormat (int axis, char &f, int &prec, int &fieldwidth) const |
void | setAxisTitle (int axis, const QString &t) |
const QString & | axisTitle (int axis) const |
void | setAxisTitleFont (int axis, const QFont &f) |
QFont | axisTitleFont (int axis) const |
void | setAxisTitleAlignment (int axis, int align) |
int | axisTitleAlignment (int axis) const |
void | setAxisMaxMinor (int axis, int maxMinor) |
int | axisMaxMajor (int axis) const |
void | setAxisMaxMajor (int axis, int maxMajor) |
int | axisMaxMinor (int axis) const |
void | setAxisReference (int axis, double value) |
double | axisReference (int axis) const |
long | insertMarker (QwtPlotMarker *) |
long | insertMarker (const QString &label=QString::null, int xAxis=xBottom, int yAxis=yLeft) |
long | insertLineMarker (const QString &label, int axis) |
QwtPlotMarker * | marker (long key) |
const QwtPlotMarker * | marker (long key) const |
bool | removeMarker (long key) |
void | removeMarkers () |
long | closestMarker (int xpos, int ypos, int &dist) const |
QArray< long > | markerKeys () const |
bool | setMarkerXAxis (long key, int axis) |
int | markerXAxis (long key) const |
bool | setMarkerYAxis (long key, int axis) |
int | markerYAxis (long key) const |
bool | setMarkerPos (long key, double xval, double yVal) |
bool | setMarkerXPos (long key, double val) |
bool | setMarkerYPos (long key, double val) |
void | markerPos (long key, double &mx, double &my) const |
bool | setMarkerFont (long key, const QFont &f) |
QFont | markerFont (long key) const |
bool | setMarkerPen (long key, const QPen &p) |
bool | setMarkerLabel (long key, const QString &txt) |
const QString & | markerLabel (long key) const |
bool | setMarkerLabelAlign (long key, int align) |
int | markerLabelAlign (long key) const |
bool | setMarkerLabelPen (long key, const QPen &p) |
QPen | markerLabelPen (long key) const |
bool | setMarkerLinePen (long key, const QPen &p) |
QPen | markerLinePen (long key) const |
bool | setMarkerLineStyle (long key, QwtMarker::LineStyle st) |
QwtMarker::LineStyle | markerLineStyle (long key) const |
bool | setMarkerSymbol (long key, const QwtSymbol &s) |
QwtSymbol | markerSymbol (long key) const |
void | setAutoLegend (bool enabled) |
bool | autoLegend () const |
void | enableLegend (bool tf, long curveKey=-1) |
bool | legendEnabled (long curveKey) const |
void | setLegendPos (int pos) |
int | legendPos () const |
void | setLegendFont (const QFont &f) |
const QFont | legendFont () const |
void | setLegendFrameStyle (int st) |
int | legendFrameStyle () const |
virtual QSize | sizeHint () const |
virtual QSize | minimumSizeHint () const |
virtual QSizePolicy | sizePolicy () const |
virtual bool | event (QEvent *) |
Protected Methods | |
void | autoRefresh () |
void | drawCanvas (const QRect &) |
virtual void | drawCanvas (QPainter *) |
virtual void | drawContents (QPainter *p) |
void | updateAxes () |
void | updateLayout () |
virtual void | resizeEvent (QResizeEvent *e) |
Static Protected Methods | |
bool | axisValid (int axis) |
Protected Attributes | |
QLabel * | d_lblTitle |
QwtPlotCanvas * | d_canvas |
QwtScale * | d_scale [axisCnt] |
QwtLegend * | d_legend |
QwtAutoScale | d_as [axisCnt] |
QwtScaleDiv | d_sdiv [axisCnt] |
QwtPlotGrid | d_grid |
QwtCurveDict * | d_curves |
QwtMarkerDict * | d_markers |
Friends | |
class | QwtPlotItem |
class | QwtPlotCanvas |
QwtPlot is a widget for plotting two-dimensional graphs. An unlimited number of data pairs can be displayed as curves in different styles and colors. A plot can have up to four axes, with each curve attached to an x- and a y axis. The scales at the axes are dimensioned automatically using an algorithm which can be configured separately for each axis. Linear and logarithmic scaling is supported. Markers of different styles can be added to the plot.
Curves and markers are identified by unique keys which are generated automatically when a curve or a marker is inserted. These keys are used to access the properties of the corresponding curves and markers.
A QwtPlot widget can have up to four axes which are indexed by the constants QwtPlot::yLeft, QwtPlot::yRight, QwtPlot::xTop, and QwtPlot::xBottom. Curves, markers, and the grid must be attached to an x axis and a y axis (Default: yLeft and xBottom).
#include "../include/qwt_plot.h> QwtPlot *myPlot; long curve1, curve2; // keys double x[100], y1[100], y2[100]; // x and y values myPlot = new QwtPlot("Two Graphs", parent, name); // add curves curve1 = myPlot->insertCurve("Graph 1"); curve2 = myPlot->insertCurve("Graph 2"); getSomeValues(x, y1, y2); // copy the data into the curves myPlot->setCurveData(curve1, x, y1, 100); myPlot->setCurveData(curve2, x, y2, 100); // finally, refresh the plot myPlot->replot();
|
Axis index.
|
|
Constructor.
|
|
Constructor.
|
|
Destructor.
|
|
|
|
Replots the plot if QwtPlot::autoReplot() is
|
|
|
|
|
|
|
|
|
|
|
|
Determine the scale margins for a specified axis.
|
|
|
|
|
|
|
|
The reference value is needed if the autoscaling options QwtAutoScale::Symmetric or QwtAutoScale::IncludeRef are set.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nothing else than: canvas()->palette().color( QPalette::Normal, QColorGroup::Background);
|
|
Nothing else than: canvas()->lineWidth(), left for compatibility only.
|
|
|
|
Change specified autoscaling options of an axis.
|
|
Remove all curves and markers.
|
|
Find the curve which is closest to a point in the plotting area. Determines the position and index of the closest data point.
|
|
Find the curve which is closest to a specified point in the plotting area.
|
|
Find the marker which is closest to a given point.
|
|
Find and return an existing curve.
|
|
Find and return an existing curve.
|
|
Return the baseline offset for a specified curve.
|
|
|
|
|
|
|
|
|
|
|
|
the symbol of the curve indexed by key.
|
|
|
|
Return the index of the x axis to which a curve is mapped.
|
|
the index of the y axis to which a curve is mapped.
|
|
Redraw grid, curves, and markers. The draw code.
|
|
Setup a QPixmap for double-buffering.
|
|
drawContents.
|
|
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.
|
|
Enable or disable vertical gridlines.
|
|
Enable or disable vertical gridlines for the minor scale marks.
|
|
Enable or disable horizontal gridlines.
|
|
Enable or disable horizontal gridlines for the minor scale marks.
|
|
Enable or disable the legend.
|
|
Enables or disables outline drawing. When the outline feature is enabled, a shape will be drawn in the plotting region when the user presses or drags the mouse. It can be used to implement crosshairs, mark a selected region, etc.
|
|
Adds handling of QEvent::LayoutHint.
|
|
|
|
|
|
|
|
|
|
Insert a new curve and return a unique key.
|
|
Insert a curve.
|
|
This function is a shortcut to insert a horizontal or vertical line marker, dependent on the specified axis.
|
|
Insert a new marker.
|
|
Insert a new marker.
|
|
Transform the x or y coordinate of a position in the drawing region into a value.
|
|
A signal which is emitted when the user has clicked on a legend item.
|
|
|
|
|
|
|
|
|
|
|
|
Find and return an existing marker.
|
|
Find and return an existing marker.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Get the position of a marker.
|
|
|
|
|
|
|
|
Return a minimum size hint.
|
|
|
|
|
|
|
|
A signal which is emitted when the mouse is moved in the plotting area.
|
|
A signal which is emitted when the mouse is pressed in the plotting area.
|
|
A signal which is emitted when a mouse button has been released in the plotting area.
|
|
Paint the plot into a given rectangle. Paint the contents of a QwtPlot instance into a given rectangle.
|
|
Print the plot to a
|
|
remove the curve indexed by key.
|
|
Remove all curves.
|
|
Remove the marker indexed by key.
|
|
Remove all markers.
|
|
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.
|
|
Resize and update internal layout.
|
|
Set or reset the autoLegend option If the autoLegend option is set, a item will be added to the legend whenever a curve is inserted.
The autoLegend option is set to FALSE by default, which means that the user has to call enableLegend.
|
|
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.
|
|
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.
|
|
Change the font of an axis.
|
|
Change the number format for the major scale of a selected axis.
|
|
Assign margins to a specified axis.
|
|
Set the maximum number of major scale intervals for a specified axis.
|
|
Set the maximum number of minor scale intervals for a specified axis.
|
|
Reset scale options and set specified options for a specified axis.
|
|
Set a reference value for a specified axis.
The reference value is used by some autoscaling modes.
|
|
Disable autoscaling and specify a fixed scale for a selected axis.
|
|
Set a scale draw.
|
|
Change the title of a specified axis.
|
|
Change the title alignment of a selected axis.
|
|
Change the title font of a selected axis.
|
|
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.
|
|
Change the border width of the plotting area Nothing else than canvas()->setLineWidth(w), left for compatibility only.
|
|
Set the baseline for a specified curve.
The baseline is needed for the curve style QwtCurve::Sticks,
|
|
Assign x and y values to a curve. In opposite to @QwtPlot::setCurveRawData@, this function makes a 'deep copy' of the data.
|
|
Set the style options of a curve indexed by key.
|
|
Assign a pen to a curve indexed by key.
|
|
Attach a curve to the specified arrays without copying.
This function does not copy the values of the specified arrays. Removing the curve will not delete the data.
|
|
Set the number of interpolated points of a curve indexed by key.
|
|
Change a curve's style.
|
|
Assign a symbol to a curve indexed by key.
|
|
|
|
Attach a curve to an x axis.
|
|
Attach a curve to an y axis.
|
|
Change the pen for the major gridlines.
|
|
Change the pen for the minor gridlines.
|
|
Change the grid's pens for major and minor gridlines.
|
|
Attach the grid to an x axis.
|
|
Attach the grid to an y axis.
|
|
Change the font of the legend items.
|
|
Change the legend's frame style.
|
|
Specify the position of the legend within the widget.
|
|
Change the margin of the plot.
|
|
Specify a font for a marker's label.
|
|
Assign a label to a marker.
|
|
Specify the alignment of a marker's label.
The alignment determines the position of the label relative to the marker's position. The default setting is AlignCenter.
|
|
Specify a pen for a marker's label.
|
|
Specify a pen for a marker's line.
|
|
Specify the line style for a marker.
|
|
Specify a pen for a marker's label.
|
|
Change the position of a marker.
|
|
Assign a symbol to a specified marker.
|
|
Attach the marker to an x axis.
|
|
Specify the X position of a marker.
|
|
Attach the marker to a Y axis.
|
|
Specify the Y position of the marker.
|
|
Specify a pen for the outline.
|
|
Specify the style of the outline.
The outline style determines which kind of shape is drawn in the plotting region when the user presses a mouse button or drags the mouse. Valid Styles are:
|
|
Change the plot's title.
|
|
Change the title font.
|
|
|
|
|
|
|
|
|
|
Transform a value into a coordinate in the plotting region.
|
|
Rebuild the scales and maps.
|
|
Adjust plot content to its current size.
|