QChart文档读数据并且设置时间轴,移动,缩放,以及时间缩放比例

操作示例:选择Demo ,点击获取文件夹相对路径:代码贴在下面了!

 QStringList textList;
    int rowCount = 0;        //统计文件的行数
    QString list = QFileDialog::getOpenFileName(this,tr("Excel file"),"./",tr("Files (*.csv);"));//格式
    QFile file(list);
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        QMessageBox::warning(this, QStringLiteral("打开csv文件"),QStringLiteral("无法读取文件 %1:\n%2."),"Failed to open");
        qDebug()<<"Can't open the file!"<<endl;
    }
    else
    {
        //内容.....
    }

 

操作文件夹相对路径内容

接下来就是折线图基本操作了: 

 X轴之时间轴:

        时间轴要用到 QDateTimeAxis,可以设置点的个数建议时间轴设置5-10个,设置太多显示不出来或者卡顿现象!


    QDateTimeAxis * axisX = new QDateTimeAxis(chart);
    axisX->setTitleText(QStringLiteral("时间(分:秒)"));  // x轴显示标题
    axisX->setGridLineVisible(false);    /
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
设置QChart跟随时间移动坐标轴,可以按照以下步骤进行操作: 1. 创建一个QChart对象,并将其设置为视图的图表: ```cpp QChart *chart = new QChart(); chartView->setChart(chart); ``` 2. 创建一个QValueAxis对象,用于表示时间轴: ```cpp QValueAxis *timeAxis = new QValueAxis(); chart->addAxis(timeAxis, Qt::AlignBottom); // 将时间轴添加到图表中,并指定对齐方式为底部 ``` 3. 设置时间轴的范围和显示格式: ```cpp QDateTime startTime = QDateTime::currentDateTime(); // 获取当前时间作为起始时间 QDateTime endTime = startTime.addSecs(60); // 结束时间为起始时间+60秒 timeAxis->setRange(startTime, endTime); // 设置时间范围 timeAxis->setTickCount(6); // 设置显示的时间刻度数量 timeAxis->setFormat("hh:mm:ss"); // 设置时间的显示格式 ``` 4. 创建一个QLineSeries对象,并将其添加到图表中,并将时间轴与该系列关联: ```cpp QLineSeries *series = new QLineSeries(); chart->addSeries(series); series->attachAxis(timeAxis); // 将时间轴与系列关联 ``` 5. 在数据更新时,通过调整时间轴的范围来实现坐标轴的移动: ```cpp QDateTime newEndTime = QDateTime::currentDateTime(); // 获取新的结束时间 QDateTime newStartTime = newEndTime.addSecs(-60); // 新的起始时间为结束时间-60秒 timeAxis->setRange(newStartTime, newEndTime); // 调整时间轴的范围 ``` 通过以上步骤,可以实现QChart跟随时间移动坐标轴的效果。当数据不断更新时,只需要调整时间轴的范围,就可以实现坐标轴的移动,以显示最新的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花骨朵a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值