qt如何绘制折线图

1.使用cmake编译的添加如下命令:


find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Charts)

得包含Charts库,且加入target_link_libraries(名称  Qt${QT_VERSION_MAJOR}::Charts)

第一步:.h代码

#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QtCharts/QChart>
#include <QtCharts/QLineSeries>
#include <QtCharts/QChartView>
#include <QtCharts/QValueAxis>

// 高度折线
    QLineSeries *heightSeries;
    // 压力折线
    QLineSeries *pressureSeries;
    // 设置轴
    QValueAxis *axisX;
    QValueAxis *heightAxisY;
    QValueAxis *pressureAxisY;

第二步:.cpp步骤

首先选定qwidget,

QWidget *chartsContainer = ui->lineChart;
 QGridLayout *layout = new QGridLayout(chartsContainer);

创建轴坐标

axisX = new QValueAxis();
        axisX->setRange(0, 9);//设置区间
        axisX->setLabelFormat("%d");//设置标签格式
        axisX->setGridLineVisible(false);//不显示网格
        axisX->setTitleText("时间S");//

heightAxisY = new QValueAxis();
        heightAxisY->setRange(0, 2);
        heightAxisY->setLabelFormat("%.1f");
        QPen transparentPen(Qt::transparent);//改变坐标轴颜色,变成透明色
        heightAxisY->setLinePen(transparentPen);

创建折线

heightSeries = new QLineSeries();
        for (int j = 0; j < heights.size(); ++j) {
            heightSeries->append(j, heights[j].toDouble());//添加数据
        }
        heightSeries->setName("行程mm");//图例命名

将折线和轴添加图表


 chart->addSeries(heightSeries);
chart->setAxisX(axisX, heightSeries);
chart->addAxis(heightAxisY, Qt::AlignLeft);
heightSeries->attachAxis(heightAxisY);

如果你想要在一个窗口有多个折现图的话,可以使用QChartView

// 创建图表视图
        QChartView *chartView = new QChartView(chart);
        chartView->setRenderHint(QPainter::Antialiasing);

        // 将图表视图添加到布局中
        // 注意:这里我们简单地使用行和列来放置图表视图
        // 根据需要调整 row 和 column 的值
        int row = group / 3; // 假设我们想要三行俩列的布局
        int column = group % 3 * 2; // 每行三个图表
        layout->addWidget(chartView, row, column, 1, 1); // 可以根据需要调整跨度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值