更改为QCustplot
This commit is contained in:
60
qcustplot.cpp
Normal file
60
qcustplot.cpp
Normal file
@ -0,0 +1,60 @@
|
||||
#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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user