qt读取csv数据画图_QT读取csv文件并且绘制折线图

该博客展示了如何使用QT读取CSV文件中的深度、声速和温度数据,并利用QWT库绘制折线图。首先通过QFile和QTextStream读取CSV文件内容,然后解析数据并创建点坐标。接着,设置QwtPlot的轴标题、比例,并创建两条折线图,分别代表声速和温度随深度的变化。最后,添加图例并显示图形。
摘要由CSDN通过智能技术生成

void MainWindow::readcsvfile() //读取csv

{

QFile csvFile("C:/Users/Administrator/Desktop/Demo/0702.CSV");

QStringList csvList;

csvList.clear();

if (csvFile.open(QIODevice::ReadWrite)) //对csv文件进行读写操作

{

QTextStream stream(&csvFile);

while (!stream.atEnd())

{

csvList.push_back(stream.readLine()); //保存到List当中

}

csvFile.close();

}

else

{

QMessageBox::about(NULL, "csv文件", "未打开该文件!");

}

int i = 0;

Q_FOREACH(QString str, csvList) //遍历List

{

i = i + 1;

QStringList valsplit = str.split(","); //分隔字符串

if(i > 2)

{

//得到深度、声速、温度

QString depth = valsplit[0];

QString sonicvelocity = valsplit[1];

QString tem

您好,关于 Qt 读取 CSV 文件并生成动态折线图的代码,我可以为您提供一份示例代码。请注意,由于我是一个 AI,可能对编程细节和语法方面的问题无法提供完整解答,但我会尽力帮助您,尽可能提供帮助。以下是示例代码: ```cpp #include <QApplication> #include <QFile> #include <QTextStream> #include <QChart> #include <QChartView> #include <QSplineSeries> int main(int argc, char *argv[]) { QApplication a(argc, argv); // Read CSV file QFile file(":/data.csv"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return -1; QTextStream in(&file); // Create and populate data series QSplineSeries *series = new QSplineSeries(); QStringList headers = in.readLine().split(","); int xIndex = headers.indexOf("x"); int yIndex = headers.indexOf("y"); while (!in.atEnd()) { QStringList line = in.readLine().split(","); qreal x = line.at(xIndex).toDouble(); qreal y = line.at(yIndex).toDouble(); *series << QPointF(x, y); } file.close(); // Create and customize chart QChart *chart = new QChart(); chart->addSeries(series); chart->createDefaultAxes(); chart->setTitle("Dynamic Line Chart"); // Create and customize chart view QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); chartView->setWindowTitle("Dynamic Line Chart"); chartView->show(); return a.exec(); } ``` 请注意,在此示例代码中,我使用了 Qt 的 QSplineSeries 类来存储和显示数据。该类可以自动连接相邻数据点,并在创建折线图时生成平滑的曲线。如果您希望使用其他类型的数据系列,可以根据需要进行修改。 另外,在代码中,我从数据文件读取 CSV 数据,然后将其存储在 QSplineSeries 对象中。如果您的数据源不是 CSV 文件,您可能需要根据实际情况修改代码,以便正确解析数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值