这样的话原来的横坐标数据不久丢失了吗
时间: 2024-02-24 22:56:02 浏览: 108
Python图片的横坐标汉字实例
是的,如果你将数据转换为横坐标间隔相同的数据并将其添加到QLineSeries中,那么原来的横坐标数据就会丢失。因此,如果你需要保留原始数据的横坐标,可以使用QScatterSeries来展示数据。
QScatterSeries可以展示散点图,每个数据点都有独立的横坐标和纵坐标。因此,你可以将原始数据的横坐标和纵坐标分别赋值给QScatterSeries的X轴和Y轴,然后在图表中展示。
下面是一个简单的示例:
```
QChart *chart = new QChart();
QScatterSeries *series = new QScatterSeries();
QValueAxis *axisX = new QValueAxis();
QValueAxis *axisY = new QValueAxis();
chart->addSeries(series);
chart->addAxis(axisX, Qt::AlignBottom);
chart->addAxis(axisY, Qt::AlignLeft);
// 假设你有以下数据
QVector<QPointF> data = {QPointF(1, 2), QPointF(2.5, 3), QPointF(5, 4)};
// 添加数据到QScatterSeries中
series->append(data);
// 设置X轴的范围
double xmin = std::min_element(data.begin(), data.end(), [](QPointF a, QPointF b) { return a.x() < b.x(); })->x();
double xmax = std::max_element(data.begin(), data.end(), [](QPointF a, QPointF b) { return a.x() < b.x(); })->x();
axisX->setRange(xmin, xmax);
// 显示图表
QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);
chartView->show();
```
这样,就可以展示原始数据,保留横坐标数据了。
阅读全文