QCustomPlot版本问题(setSubTickCount、setDateTimeFormat、setTickLabelType等更改)

62 篇文章 102 订阅
11 篇文章 13 订阅

Qcustomplot入门请点击: Qcustomplot入门教程
QCustomPlot官网上现有两个主版本的软件供下载,在QCustomPlot的实际使用中,我发现:
1、对于2.0版本的库,原本1.0的库中QCPAxis中可以使用的几个函数,如setSubTickCount、setDateTimeFormat、setDateTimeSpec、setTickLabelType等几个函数被移除了
因此,以前的一些用法需要更改,如下代码在2.0的库中均不能使用:

ui->widget->xAxis->setSubTickCount(5);//设置一个大刻度分为6个(5+1)小刻度 
ui->widget->xAxis->setDateTimeFormat("hh:mm");
ui->widget->xAxis->setDateTimeSpec(Qt::UTC); 
...

2、在2.0版本的库中,这几个函数只有在QCPAxisTickerText中才可以使用,因此,使用2.0的QCustomPlot库,需要这样设置tick

QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText);
textTicker->setSubTickCount(5);
textTicker->addTick(0.0, "yt");
textTicker->addTick(1.0, "Bacteria");
textTicker->addTick(2.0, "Protozoa");
textTicker->addTick(3.0, "Chromista");
textTicker->addTick(4.0, "Plants");
textTicker->addTick(5.0, "Fungi");
textTicker->addTick(6.0, "Animals");
textTicker->addTick(8.0, "Vogons");
ui->widget->xAxis->setTicker(textTicker);

3、
1.0系列版本中 ,设置坐标轴缩放的函数只能一次设置一套坐标轴,如下:

CustomPlot->axisRect()->setRangeZoomAxes(CustomPlot->xAxis,CustomPlot->yAxis);

2.0系列版本中,可以一次设置一个坐标轴列表,如下:

    QList<QCPAxis*> axes;
    axes << CustomPlot->yAxis2 << CustomPlot->xAxis2 << CustomPlot->yAxis << CustomPlot->xAxis;

    CustomPlot->axisRect()->setRangeZoomAxes(axes);

4、设置图像被选中
2.0系列: graph->setSelection(QCPDataSelection(graph->data()->dataRange()));
1.0系列:graph->setSelected(true);

5、设置图例在一行显示
1.0系列版本,多个图例(legend)只能垂直排列显示在多行上,而2.0系列版本可以通过以下代码设置多个图例显示在一行上:

customPlot->legend->setFillOrder(QCPLayoutGrid::foColumnsFirst);

其他改动:待完善………
QCustomPlot官网上现有两个主版本的软件供下载:
这里写图片描述

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值