如何使图表不在特定范围内绘制折线图?

How to make QtChart do not draw line chart at certaing ranges?

下面的代码画了一条从2020年到2023年的线,穿过2022年。关键是,如何让QChartView忽略2022年,即从2021年直接画到2023年,或者换句话说, 从 X 轴移除 2022?

auto series = new QLineSeries();
series->append(QDateTime(QDate(2020, 1, 1)), 100);
series->append(QDateTime(QDate(2021, 1, 1)), 200);
series->append(QDateTime(QDate(2023, 1, 1)), 300);
series->append(QDateTime(QDate(2023, 1, 1)), 200);


QDateTimeAxis *axisX = new QDateTimeAxis;
axisX->setTickCount(20);
axisX->setLabelsAngle(-90);
axisX->setFormat("dd.MM.yyyy hh:mm:ss");

chart->addAxis(axisX, Qt::AlignBottom);
series->attachAxis(axisX);

QValueAxis *axisY = new QValueAxis;
axisY->setTickCount(30);
chart->addAxis(axisY, Qt::AlignLeft);
series->attachAxis(axisY);

chart->setTitle(m_stock->name());

m_chart_view->setChart(chart);

终于找到解决办法了。应该使用 QBarCategoryAxis 而不是 QDateTimeAxis。