一.前言
楼主最近在学习QCustomplot相关的内容,于是想着记录下自己所学的,同时也给分享给有需要的人
楼主所涉及不深,也不一定描述的对,不喜勿喷。谢谢
二.过程
1.拖动一个QWidget,提示为QCustomplot
2.编写代码
// 数据构造
QVector<double> x,y;
for(double xi=-2*M_PI;xi<2*M_PI;xi+=0.1)
{
x.push_back(xi);
y.push_back(sin(xi));
}
//添加曲线,必须添加这一句,不然显示不了曲线
ui->widget->addGraph();
// 设置x轴以及y轴的名称
ui->widget->xAxis->setLabel("这是X轴");
ui->widget->yAxis->setLabel("这是Y轴");
// 设置数据
ui->widget->graph(0)->setData(x,y);
// 设置曲线名称
ui->widget->graph(0)->setName("y=sin(x)");
// 设置显示曲线名称
ui->widget->legend->setVisible(true);
// 设置曲线名称的字体属性
ui->widget->legend->setFont(QFont("微软雅黑",13));
// 设置自适应
ui->widget->rescaleAxes(true);
3.添加多组数据,添加多组数据和添加单组数据一样,感觉这样添加很方便,QCustomplot的作者真是一个牛人
// 数据构造
QVector<double> x,y;
for(double xi=-2*M_PI;xi<2*M_PI;xi+=0.1)
{
x.push_back(xi);
y.push_back(sin(xi));
}
//添加曲线,必须添加这一句,不然显示不了曲线
ui->widget->addGraph();
// 设置x轴以及y轴的名称
ui->widget->xAxis->setLabel("这是X轴");
ui->widget->yAxis->setLabel("这是Y轴");
// 设置数据
ui->widget->graph(0)->setData(x,y);
// 设置曲线名称
ui->widget->graph(0)->setName("y=sin(x)");
// 设置显示曲线名称
ui->widget->legend->setVisible(true);
// 设置曲线名称的字体属性
ui->widget->legend->setFont(QFont("微软雅黑",13));
// 设置自适应
QVector<double> x1,y1;
for(double xx=-2*M_PI;xx<2*M_PI;xx+=0.1)
{
x1.push_back(xx);
y1.push_back(cos(xx));
}
//
QPen pen;
pen.setWidth(3);
pen.setColor(Qt::green);
ui->widget->addGraph();
// 设置曲线颜色
ui->widget->graph(1)->setPen(pen);
ui->widget->graph(1)->setData(x1,y1);
ui->widget->graph(1)->setName("y=cos(x)");
ui->widget->rescaleAxes(true);
//
QPen pen3;
pen3.setWidth(3);
pen3.setColor(Qt::yellow);
ui->widget->addGraph();
QVector<double> x2,y2;
for(int i=0;i<10;i++)
{
x2.push_back(i);
y2.push_back(i);
}
ui->widget->graph(2)->setPen(pen3);
ui->widget->graph(2)->setData(x2,y2);
ui->widget->graph(2)->setName("y=x");
// 添加多组数据的时候,这一句必须放在最后,才能实现坐标轴的自适应
ui->widget->rescaleAxes(true);