//画图*************************************************************
QChart* chart = new QChart(); //创建 Chart
//chart->setTitle("平滑曲线"); // 设置标题
chart->setTheme(QChart::ChartThemeQt); // 设置主题风格
chart->legend()->hide(); //隐藏图例
QValueAxis* xAxis = new QValueAxis(); //定义X坐标轴
QValueAxis* yAxis = new QValueAxis(); //定义Y坐标轴
QFont labelsFont; //设置坐标轴字体
labelsFont.setPixelSize(12); //参数字号,数字越小,字就越小
//设置坐标轴
xAxis->setTickCount(10); //设置坐标轴间隔,刻度个数
xAxis->setMinorTickCount(1); // 次刻度和次网格线设置
xAxis->setRange(0.000, 0.900); //坐标轴范围
xAxis->setLabelFormat("%.3f"); //设置刻度的格式,整数形式
xAxis->setLabelsFont(labelsFont); //设置坐标轴字体
yAxis->setTickCount(13); //刻度个数,
xAxis->setMinorTickCount(1); // 次刻度和次网格线设置
yAxis->setRange(0, 13); //坐标轴范围
yAxis->setLabelFormat("%d"); //设置刻度的格式,整数形式
yAxis->setLabelsFont(labelsFont); //设置坐标轴字体
// 添加曲线和数据
QSplineSeries *splineSeries = new QSplineSeries();
splineSeries->append(0.20, 5);
splineSeries->append(0.30, 6);
splineSeries->append(0.40, 7);
splineSeries->append(0.50, 4);
splineSeries->append(0.60, 6);
splineSeries->append(0.80, 7);
// 设置显示坐标点
splineSeries->setPointLabelsClipping(false);
splineSeries->setPointLabelsVisible(true);
splineSeries->setPointLabelsFormat("(@xPoint,@yPoint)");
//将设置的坐标轴添加到chart中
chart->addAxis(xAxis, Qt::AlignBottom);
chart->addAxis(yAxis, Qt::AlignLeft);
chart->addSeries(splineSeries); //将曲线添加到chart中
//chart->createDefaultAxes(); //使用默认坐标轴
//绑定曲线和坐标轴(该语句必须在将曲线和坐标轴添加到chart后)
splineSeries->attachAxis(xAxis);
splineSeries->attachAxis(yAxis);
ui->Dynamic_chart->setChart(chart); // 显示到界面上
ui->Dynamic_chart->setRenderHint(QPainter::RenderHint::Antialiasing); // 设置抗锯齿
Qt随手笔记(四)QtChart画曲线图
于 2022-02-21 23:27:32 首次发布