续qcustomplot高级轴(多轴联动):代码部分

1、初始化轴:保留x1(下)和y1(左)

2、设置标题

3、创建布局管理器,设置布局策略

4、将元素加到图层中

5、设置相同空白

6、调用 addAxisRect()

代码如下

QCPAxisRect *MPlot::addAxisRect(Qt::Orientation ori, QString &strY, QString &strX, QString &strTitile)
{
     QCPAxisRect *rect = NULL;
     if(!rect)
     {
         rect = new QCPAxisRect(this);
         //初始化标题、初始化轴
         int row, col;
         getRowCol(row, col, ori);
         qDebug() << "row" << row << "col" << col;
         initAxis(rect->axis(QCPAxis::atLeft), rect->axis(QCPAxis::atBottom), strY, strX);
         //创建标题
         QCPTextElement *title = new QCPTextElement(this);
         title->setText(strTitile);

         //布局
         QCPLayoutGrid *rectLayout = new QCPLayoutGrid;

         rectLayout->addElement(0,0,title);
         rectLayout->setRowSpacing(0);
         rectLayout->addElement(rectLayout->rowCount(), 0, rect);

         this->plotLayout()->addElement(row, col, rectLayout);
         this->plotLayout()->setRowSpacing(0);

         //将元素加到图层中
         foreach (QCPAxisRect *rect, this->axisRects())
         {
             foreach (QCPAxis *axis, rect->axes())
             {
                 axis->setLayer("axes");
                 axis->grid()->setLayer("grid");
             }
         }

         //设置相同空白
         rect->setMarginGroup(QCP::msLeft, marginGroup);
     }
     return rect;
}

//调用:图1水平方向布局,图2垂直方向布局
mPlot->addAxisRect(Qt::Horizontal, QString("V"), QString("T"), QString("v-t"));
mPlot->addAxisRect(Qt::Horizontal, QString("S"), QString("T"), QString("s-t"));

效果图如上,这例子仅供参考,如有不足之处,请大家留言。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值