QWT绘图


QWT

QwtPlot是用来绘制二维图像

setAxisTitle 设置轴标题
enableAxis 主要是显示xTop,yRight坐标轴
setAxisMaxMajor 设置某个某个坐标轴扩大比例尺的最大间隔数目
setAxisMaxMinor 设置某个某个坐标轴缩小比例尺的最大间隔数目
setAxisScale 禁用自动缩放比例尺,为某个坐标轴指定一个修改的比例尺
insertLegend 添加图例(标注)

常见接口
setPen 设置画笔
setData 设置曲线的数据
setStyle 设置曲线形式,点、直线、虚线等等
setCurveAttribute 设置曲线属性,一般设置Fitted
attch 把曲线附加到QwlPlot上
void CalcPtDist::drawContents(QPainter *painter,QPolygonF* points)//QPainter
{
	ui.qwtPlot->setCanvasBackground(Qt::green);
    QwtPlotCurve *curve = new QwtPlotCurve();
	//关联控件
    curve->attach(this->ui.qwtPlot);
	//设置控件x、y轴坐标(min,max,step)
	
    ui.qwtPlot->setAxisScale(QwtPlot::xBottom, 0.0, points->count());
    ui.qwtPlot->setAxisScale(QwtPlot::yLeft,0.0, 150.0);
	//设置控件x、y轴标题
    ui.qwtPlot->setAxisTitle(QwtPlot::xBottom,"x   -->");
    ui.qwtPlot->setAxisTitle(QwtPlot::yLeft,"y   -->");
	//设置曲线画笔和风格
	curve->setPen(QColor(Qt::red));
	
	curve->setStyle(QwtPlotCurve::Lines);
    curve->setSymbol(new QwtSymbol(QwtSymbol::Cross, Qt::NoBrush,
        QPen(Qt::black), QSize(5, 5) ) );
    curve->setCurveAttribute(QwtPlotCurve::Fitted);
  
	//curve->setSymbol(new QwtSymbol(QwtSymbol::Ellipse, Qt::yellow,
	//	QPen(Qt::blue), QSize(5, 5) ) );
	//curve->setStyle(QwtPlotCurve::Sticks);

	//关联样本数据
	curve->setSamples(*points);
	//绘制曲线
    ui.qwtPlot->replot();
}


你可能感兴趣的:(QWT绘图)