功能:
//初始化
void init()
{
mPlot->xAxis->setLabel("时间");
mPlot->yAxis2->setLabel("扭力 N.m");
mPlot->legend->setVisible(false);
#if 0 //显示图列
mPlot->legend->setFont(QFont("Helvetica",9));
mPlot->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignTop | Qt::AlignLeft); // 设置图例在左上方
#else//显示标题
QCPTextElement *title = new QCPTextElement(mPlot, "螺丝锁附实时扭力", QFont("sans", 12, QFont::Bold));
mPlot->plotLayout()->insertRow(0);
mPlot->plotLayout()->addElement(0, 0, title);
#endif
mPlot->yAxis->setTickLabels(false);
mPlot->yAxis2->setVisible(true);
mPlot->axisRect()->axis(QCPAxis::atRight, 0)->setPadding(50);
mGraph1 = mPlot->addGraph(mPlot->xAxis, mPlot->axisRect()->axis(QCPAxis::atRight, 0));
mGraph1->setPen(QPen(QColor(250, 120, 0)));
mTag1 = new AxisTag(mGraph1->valueAxis());
mTag1->setPen(mGraph1->pen());
}
//数据刷新
void setupQuadraticDemo()
{
if (mGraph1->dataCount() >= 100) { //只显示最近100条数据
mPlot->clearGraphs();
mGraph1 = mPlot->addGraph(mPlot->xAxis, mPlot->axisRect()->axis(QCPAxis::atRight, 0));
mGraph1->setPen(QPen(QColor(250, 120, 0)));
}
mGraph1->addData(mGraph1->dataCount(), m_vec.back().torque);
// mGraph1->addData(mGraph1->dataCount(), qSin(mGraph1->dataCount()/50.0)+qSin(mGraph1->dataCount()/50.0/0.3843)*0.25);//曲线显示
mPlot->xAxis->rescale();
mGraph1->rescaleValueAxis(false, true);
double graph1Value = mGraph1->dataMainValue(mGraph1->dataCount()-1);
mTag1->updatePosition(graph1Value);
mTag1->setText(QString::number(graph1Value, 'f', 2));
mPlot->yAxis2->setRange(0, 50);
mPlot->replot();
}
如何x轴显示时间
mGraph1->addData(QDateTime::currentMSecsSinceEpoch(), m_vec.back().torque);
QSharedPointer<QCPAxisTickerDateTime> dateTicker(new QCPAxisTickerDateTime);
dateTicker->setDateTimeFormat("mm:ss.zzz");
mPlot->xAxis->setTicker(dateTicker);
//时间显示旋转角度
mPlot->xAxis->setTickLabelRotation(30);
注意:
问题:
为什么显示出来不是曲线? 这让我很纳闷。。。