qt - QT 折线图中 x 轴上的坐标不正确/自动调整

标签 qt c++11 qt5.7

我正在 QT 5.7 中创建一个简单的折线图。

以下是我的 certificate_page_childs 表结构:

enter image description here

我的 C++ 代码:

QLineSeries *series = new QLineSeries();
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
QString db_path = QDir::currentPath();
db_path =  db_path + QString("/some_file");
db.setDatabaseName(db_path);
db.open();
QSqlQuery query;
 query.prepare("SELECT hardness_val FROM certificate_page_childs where cp_id=:value");
 query.bindValue(0,statisticalanalysis::cert_id_gbl);
 if(query.exec()){
      int d = 1;
      while (query.next()) {
          series->append(d, query.value(0).toDouble()); //Method 1
          //qDebug() << query.value(0).toString();
          //*series << QPointF(d,query.value(0).toDouble()); // Method 2
          qDebug() << d;
          d++;

      }
 }
 else
 {
     qDebug() << query.lastError();
 }
 db.close();
 QChart *chart = new QChart();
 chart->legend()->hide();
 chart->addSeries(series);
 chart->createDefaultAxes();
 chart->setTitle("Simple line chart example");
 chart->setAnimationOptions(QChart::SeriesAnimations);
 ui->graphicsView->setRenderHint(QPainter::Antialiasing);
 ui->graphicsView->setChart(chart);

以下是我的输出:

enter image description here

我需要什么:

enter image description here

X 轴:读数数

Y 轴:每个读数的一些值

请将 x 轴与输出图像和所需图像进行比较。

任何人都可以指导我直到达到预期的结果吗?

最佳答案

在这种特殊情况下,作为 X 轴,您具有 1:1:n 的值,您可以设置 tickCountlabelFormat:

QChart *chart = new QChart();
chart->legend()->hide();
chart->addSeries(series);
chart->createDefaultAxes();
chart->setTitle("Simple line chart example");
chart->setAnimationOptions(QChart::SeriesAnimations);
ui->graphicsView->setRenderHint(QPainter::Antialiasing);
ui->graphicsView->setChart(chart);
QValueAxis *axisX = static_cast<QValueAxis *>(chart->axisX(series)); // <--
axisX->setTickCount(series->count());  // <--
axisX->setLabelFormat("%d"); // <--

关于qt - QT 折线图中 x 轴上的坐标不正确/自动调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51473135/

相关文章:

c++ - Qt C++ 初始化类和从类调用带有变量的方法

qt - 在 QString 中查找 "actual"个字符(字素)

c++ - 如何在 C++11 RNG 初始状态的本地和全局设置之间切换?

Qt与GLee冲突

c++ - 比较字符串时 QtTest 失败,即使它们相同? C++

c++ - 派生自模板基类的模板构造函数

c++ - std::set 自定义比较器用于 2D 点

qt5 - QT 5.7 Linux 32位下载

c++ - 强制系统 QT 库使用应用程序附带的 openssl 库

c++ - 如何在同一个类的另一个方法中使用一个类方法的成员?