Files
ReadLog/qcustplot.cpp

61 lines
1.5 KiB
C++
Raw Normal View History

2024-09-13 17:06:01 +08:00
#include "qcustplot.h"
#include "ui_qcustplot.h"
#include <QDateTime>
#include <QDebug>
#include "gloab.h"
QCustPlot::QCustPlot(QVector<double> xData, QVector<double> yData, int jd, bool isNub, bool isTime,
QWidget *parent)
: QWidget(parent)
, ui(new Ui::QCustPlot)
{
ui->setupUi(this);
//标题
QCPTextElement *m_title;
ui->plot->plotLayout()->insertRow(0);
m_title = new QCPTextElement(ui->plot, QString("基带 %1").arg(jd+1));
ui->plot->plotLayout()->addElement(0, 0, m_title);
// X轴
if (isTime) {
QSharedPointer<QCPAxisTickerDateTime> timeTicker(new QCPAxisTickerDateTime);
timeTicker->setDateTimeFormat("hh:mm:ss");
ui->plot->xAxis->setTicker(timeTicker);
}
// Y轴
if(!isNub){
QVector<double> ticks;
QVector<QString> labels;
for (int i = 1; i < Gloab::rule.size(); ++i) {
ticks.append(i);
labels.append(Gloab::rule[i]);
}
QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText);
textTicker->addTicks(ticks, labels);
ui->plot->yAxis->setTicker(textTicker);
}
// 添加图形
ui->plot->addGraph();
ui->plot->graph(0)->setData(xData, yData);
// 自动调整轴范围
ui->plot->rescaleAxes();
ui->plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom );
if(!xData.empty()){
ui->plot->xAxis->setRange(xData.first(),xData.last());
}
}
QCustPlot::~QCustPlot()
{
delete ui;
}