看起来问题可能出在轴的附加顺序和数据添加的顺序上。确保在将轴附加到系列之前,数据已经被添加到系列中,并且在附加轴之后,图表的布局被正确更新。以下是一些可能的调整:
1. **确保数据在附加轴之前添加:** 确保在调用 `series_->attachAxis(axisY);` 之前,数据已经被添加到 `series_` 中。
2. **附加轴到系列:** 确保 `axisY` 也被附加到 `series_`。
3. **更新图表布局:** 在附加轴之后,调用 `chart_->createDefaultAxes();` 或者 `chart_->update();` 来确保图表布局更新。
以下是调整后的代码示例:
- chart_ = new QChart();
- series_ = new QLineSeries();
- // 添加数据到系列
- for (int i = 0; i < net_worth_model_->rowCount(); ++i) {
- double value = net_worth_model_->data(net_worth_model_->index(i, 2)).toDouble();
- series_->append(i, value);
- }
- chart_->addSeries(series_);
- QValueAxis* axisX = new QValueAxis;
- axisX->setMin(0);
- axisX->setMax(10);
- axisX->setTickCount(11);
- axisX->setLabelsAngle(-80);
- chart_->addAxis(axisX, Qt::AlignBottom);
- series_->attachAxis(axisX);
- QValueAxis* axisY = new QValueAxis;
- axisY->setRange(0, 100);
- chart_->addAxis(axisY, Qt::AlignLeft);
- series_->attachAxis(axisY);
- chart_->setTitle("净值表");
- chart_->legend()->setVisible(true);
- chart_->legend()->setAlignment(Qt::AlignBottom);
- // 更新图表布局
- chart_->update();
- series_->setName("净值");
- chartView_ = new CustomChartView(chart_);
复制代码
确保在附加轴之前,数据已经被添加到系列中,并且在附加轴之后,图表的布局被更新。这样可以确保图表根据轴的设置正确显示。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。