QCustomPlot使用技巧

QCustomPlot使用技巧(一)

一、QCustomPlot坐标轴

一个QCustomPlot里有四个坐标轴,其中xAxis、yAxis、xAxis2和yAxis2分别表示如图所示的4个方向的坐标轴,xAxis2和yAxis2默认隐藏,可以通过语句显示出来。

 yAxis2->setVisible(true);    //显示y轴2   即右侧坐标轴
 xAxis2->setVisible(true);    //显示x轴2   即上方坐标轴

在这里插入图片描述
下面是坐标轴的常用操作,每一个坐标轴都可单独设置。

	xAxis->setBasePen(QPen(QColor(0, 163, 222)));                        		//x轴线
    xAxis->setLabelColor(Qt::black);                                            //设置字体
    xAxis->grid()->setPen(QPen(QColor("#159C77"), 1, Qt::DotLine));            	//x中间的水平线
    xAxis->setTickLabelColor(Qt::black);                                        //x标号
    xAxis->setTickPen(QPen(QColor("#159C77")));                            		//x大分割
    xAxis->setLabel(QStringLiteral("时间"));									//文字
    xAxis->setSubTickPen(QPen(QColor("#159C77")));                        		//x小分割
    xAxis->setSubTickLength(0);
    xAxis->setSubTicks(false);													//x小分割不显示
    xAxis->setTickLabelFont(QFont("", 10));
    xAxis->setRange(QCPRange(0, 50));                                           //x轴范围
    xAxis->ticker()->setTickCount(50);											//x轴有多少个点
    xAxis->ticker()->setTickStepStrategy(QCPAxisTicker::tssReadability);
    xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);
    xAxis->rescale(true);														//设置自动缩放

如果需要设置x轴为时间显示

//x轴时间设置
QDateTime date_time = QDateTime::currentDateTime();
double now = date_time.toMSecsSinceEpoch();
QSharedPointer<QCPAxisTickerDateTime> dateTimeTicker(new QCPAxisTickerDateTime);//dateTimeTicker->setDateTimeSpec(Qt::UTC);//设施世界时间,即不加上时区的时间
dateTimeTicker->setTickCount(20);
dateTimeTicker->setTickStepStrategy(QCPAxisTicker::tssMeetTickCount);
dateTimeTicker->setDateTimeFormat("d h:m");//设置x轴刻度显示格式
ui.plot_->xAxis->setTicker(dateTimeTicker);
ui.plot_->xAxis->setRange((now - 3600)*0.001, now*0.001);
ui.plot_->xAxis->setTickLabelRotation(30);

二、QCPGraph对象

QCustomPlot中的每一个曲线是一个QCPGraph对象,凡是跟显示数据有关的我们就对QCPGraph进行操作或调用QCPGraph对象提供的方法。可以使用该语句创建一个QCPGraph对象

QCPGraph *graph = ui.plot_->addGraph();

创建的的QCPGraph会存储在QCustomPlot内,使用graph(i)及和返回。

ui.plot_->graph(i)

下面是QCPGraph的常用设置

setLineStyle(LineStyle ls);			//设置线条
setData(x,y);									//添加数据
setData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted=false);//添加数据容器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值