vs+qt使用qcustomplot绘制曲线

1、在工程中加入qcustomplot.h和qcustomplot.cpp文件。

2、创建widget窗口,并将其提升为qcustomplot并全局包含。

3、定义一个初始化曲线函数init

//创建曲线

QCPGraph * graph = ui.widget–>addGraph();

//设置颜色

graph–>setPen(QPen(QColor(110,255,40)));

//设置x轴的区间

ui. widget–>xAxis–>setRang(0, 10); 

//设置可以拖拽和放大缩小

ui.widget–>setInteraction(QCP::iRangeDrag, true): 

ui.widget–>axisRect()–>setRangedrag(Qt: : Horizontal |Qt::Vertical ): 

//设置图例并旋转90

graph–>setName(QString: : fromLocal8bit(”图例”);

ui.widget–>yAxis–>setTickLabelRotation

(90);

//设置x轴名称

ui.widget–>xAxis–>setLabel(QString: : fromLocal8bit(”某某信息等等”);

//设置图例

graph–>setName(QString : : fromLocal8bit

("速度"));

 

 

//实施传数并绘制曲线

ui.widget–>graph(0)–>addData(x1. data, x2. data); 

if(time>10)

{

//x轴时间大于10后,动态显示近10s的曲线

ui. widget –>xAxis–>setRang(time-7, 10 Qt: : QlienLeft); 

}

ui. widget–>yAxis–>setRang(y1. data, y2. data); 

//刷新曲线

ui. widget –>replot(); 

 

//清空曲线

void clearline()

{

//循环清空所有画布

while(ui. widget–>graphcount() ≠0)

  {

ui. widget –>remove Graph(); 

  }

//显示状态设置为不可见

ui. widget–> legend–> setVisible(false); 

ui. widget –>replot(); 

}

 

//根据复选框来显示对应不同的曲线(使用一个槽函数)

void slot_checkBox_clicked(bool checked)

{

QCheckBox * pqCheckBox = qobject_cast<QCheckBox *>(sender);

if(NULL  == pqCheckBox)

return; 

//点击a显示a曲线

if(pqCheckBox == ui. checkBox_A)

{ui. widget  –>graph(0) –>setVisible(true);}

//点击b显示b曲线

if(pqCheckBox == ui. checkBox_B)

{ui. widget  –>graph(1) –>setVisible(true);}

//刷新曲线

ui. widget –>replot(); 

}

 

整理思路就是这样,希望对大家有帮助!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值