3 #include <qwt_plot_grid.h> 4 #include <qwt_plot_layout.h> 5 #include <qwt_plot_canvas.h> 6 #include <qwt_plot_marker.h> 7 #include <qwt_plot_curve.h> 8 #include <qwt_plot_directpainter.h> 9 #include <qwt_plot_legenditem.h> 10 #include <qwt_curve_fitter.h> 11 #include <qwt_painter.h> 22 if ( d_boundingRect.width() < 0.0 )
23 d_boundingRect = qwtBoundingRect( *
this );
25 return d_boundingRect;
28 inline void append(
const QPointF &point )
37 d_boundingRect = QRectF( 0.0, 0.0, -1.0, -1.0 );
43 x_interval(0.0, 10.0),
47 d_directPainter =
new QwtPlotDirectPainter(
this);
48 QwtPlotCanvas *d_canvas =
new QwtPlotCanvas();
50 d_canvas->setPaintAttribute(QwtPlotCanvas::BackingStore,
false);
51 d_canvas->setPaintAttribute(QwtPlotCanvas::ImmediatePaint,
true);
54 setCanvas( d_canvas );
56 QwtPlotLegendItem *d_legenditem =
new QwtPlotLegendItem;
57 d_legenditem->setAlignment(Qt::AlignTop);
58 d_legenditem->setAlignment(Qt::AlignRight);
59 d_legenditem->attach(
this);
61 QPalette pal = palette();
62 pal.setColor(QPalette::WindowText, Qt::black);
63 pal.setColor(QPalette::Background, Qt::white);
66 plotLayout()->setAlignCanvasToScales(
true);
71 setAxisScale(QwtPlot::yLeft, 1.260,1.265);
74 setAxisScale(QwtPlot::xBottom, x_interval.minValue(), x_interval.maxValue());
76 QwtPlotGrid *d_grid =
new QwtPlotGrid();
77 d_grid->setPen(Qt::lightGray, 0.0, Qt::DotLine);
80 d_curve =
new QwtPlotCurve();
81 d_curve->setPen(pal.color(QPalette::WindowText), 1.0);
83 d_curve->setRenderHint(QwtPlotCurve::RenderAntialiased,
true);
85 d_curve->attach(
this);
86 d_curve->setTitle(curveTitle);
91 delete d_directPainter;
102 x_interval = QwtInterval(x_interval.maxValue(), x_interval.maxValue()+x_intervalSize);
103 setAxisScale(QwtPlot::xBottom, x_interval.minValue(), x_interval.maxValue());
108 setAxisScale(QwtPlot::yLeft, data->boundingRect().top()-curveMargin, data->boundingRect().bottom()+curveMargin);
115 x_interval = QwtInterval(0, x_intervalSize);
116 setAxisScale(QwtPlot::xBottom, x_interval.minValue(), x_interval.maxValue());
121 x_interval = QwtInterval(xmin,xmax);
122 setAxisScale(QwtPlot::xBottom, x_interval.minValue(), x_interval.maxValue());
131 d_directPainter->drawSeries(d_curve, data->size()-(length+1), data->size()-1);
138 d_directPainter->drawSeries(d_curve, data->size()-2, data->size()-1);
151 d_curve->setPen(color);
156 curveMargin = margin;
161 setAxisScale(QwtPlot::yLeft, ymin-curveMargin, ymax+curveMargin);
void setCurveMargin(double)
void setInterval(int xmin, int xmax)
void append(const QPointF &point)
void AppendPoint(const QPointF &)
virtual QRectF boundingRect() const
Plot(QString curveTitle="", QWidget *parent=NULL)
void setYAxis(double, double)
void setCurveColor(const QColor &color)
void DrawCurveSegment(const int length)