Qwt设置自定义坐标轴

设置横轴自定义坐标

QList<double> ticksX[QwtScaleDiv::NTickTypes];
 double dInternalX1 = step*1.0/iXAxisSubParts;
 double dInternalX = (step*iXAxisParts-0)*1.0/iXAxisParts;
 for(int i=0;i<iXAxisParts+1;++i)
 {
     double tmpData = i*dInternalX*1.0;
     qDebug()<<"iii"<<i<<"tmpData"<<tmpData;
     ticksX[QwtScaleDiv::MajorTick].append(tmpData*1.0);
     for(int j=0;j<iXAxisSubParts-1;++j)
     {
         double data = tmpData+(j+1)*(dInternalX1);
         ticksX[QwtScaleDiv::MinorTick].append(data);
     }
 }
 QwtScaleDiv scaleDivX(
         ticksX[QwtScaleDiv::MajorTick].first(),
         ticksX[QwtScaleDiv::MajorTick].last(),
         ticksX );
 setAxisScaleDiv(QwtPlot::xBottom, scaleDivX);

设置纵轴自定义坐标

double dInternal1 = dInternal/iYAxisSubPart;
 for(int i=0;i<iYAxisPart;++i)
 {
     double tmpData = minY*1.0+i*dInternal*1.0;
     qDebug()<<"iii"<<i<<"tmpData"<<tmpData;
     ticks[QwtScaleDiv::MajorTick].append(tmpData*1.0);
     for(int j=0;j<iYAxisSubPart;++j)
     {
         double data = tmpData+(j+1)*dInternal1;
         ticks[QwtScaleDiv::MinorTick].append(data);
     }
 }
 QwtScaleDiv scaleDiv(
         ticks[QwtScaleDiv::MajorTick].first(),
         ticks[QwtScaleDiv::MajorTick].last(),
         ticks );
setAxisScaleDiv(QwtPlot::yLeft, scaleDiv);

设置表格与外框一致

plotLayout()->setAlignCanvasToScales(true);

设置Y轴显示一位小数

class VScaleDraw: public QwtScaleDraw        //自画坐标轴
{
public:
    VScaleDraw()
    {
    }
    virtual QwtText label( double v ) const  //重绘坐标轴 刻度值
    {
       return QwtText( QString::number( v/10 ) );  //默认的 大刻度的时候 才会显示
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值