Qt Chart之绘制折线图:图表以及坐标轴设置

1、创建QT GUI应用,基类选择"QMainWindows",在.pro中添加:
QT += charts
在源文件中添加:
#include<QCharts>

2、在构造函数中添加:

QChartView *chartView = new QChartView(this);

在这里插入图片描述

QChartView *chartView = new QChartView(this);
QChart *chart = new QChart();
chart->setTitle("简单函数曲线");   //图标的名字
chartView->setChart(chart);
setCentralWidget(chartView);

在这里插入图片描述

QChartView *chartView = new QChartView(this);

QChart *chart = new QChart();
chart->setTitle("简单函数曲线");   //图表的名字
chartView->setChart(chart);
setCentralWidget(chartView);

//创建曲线序列
QLineSeries *series0 = new QLineSeries();
QLineSeries *series1 = new QLineSeries();
series0->setName("sin曲线");   //自动添加折线名字
series1->setName("cos曲线");
chart->addSeries(series0);
chart->addSeries(series1);

在这里插入图片描述

QChartView *chartView = new QChartView(this);

QChart *chart = new QChart();
chart->setTitle("简单函数曲线");   //图标的名字
chartView->setChart(chart);
setCentralWidget(chartView);

//创建曲线序列
QLineSeries *series0 = new QLineSeries();
QLineSeries *series1 = new QLineSeries();
series0->setName("sin曲线");   //自动添加折线名字
series1->setName("cos曲线");
chart->addSeries(series0);
chart->addSeries(series1);

//序列添加数值
qreal t = 0, y1, y2, intv = 0.1;
int cnt = 200;
for(int i = 0; i < cnt; ++i){
 y1 = qSin(t);
 series0->append(t, y1);
 y2=qSin(t+20);
 series1->append(t,y2);
 t+=intv;  //每次角度增加
}

//创建坐标
QValueAxis *axisX = new QValueAxis;//X轴
axisX->setRange(0, 10);//设置坐标轴范围
axisX->setTitleText("time(secs)");//标题
axisX->setLabelFormat("%.1f"); //标签格式:每个单位保留几位小数
axisX->setTickCount(20); //主分隔个数:0到10分成20个单位
axisX->setMinorTickCount(4); //每个单位之间绘制了多少虚网线
//    axisX->setGridLineVisible(false);

QValueAxis *axisY = new QValueAxis; //Y 轴
axisY->setRange(-2, 2);
axisY->setTitleText("value");
axisY->setLabelFormat("%.2f"); //标签格式
axisY->setTickCount(10);
axisY->setMinorTickCount(4);
//    axisX->setGridLineVisible(false);

//为序列设置坐标轴
chart->setAxisX(axisX, series0);
chart->setAxisY(axisY, series0);

chart->setAxisX(axisX, series1);
chart->setAxisY(axisY, series1);

在这里插入图片描述

  • 19
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要用Qt绘制温湿度折线图,可以使用Qt自带的数据可视化库QChart,它提供了多种图表类型,包括折线图、柱状图、饼图等等。下面是一个使用QChart绘制温湿度折线图的示例代码: 1. 在Qt Designer中创建一个QChartView控件,用于显示折线图。 2. 在代码中创建QLineSeries对象,通过addData方法添加温度和湿度数据。 3. 创建QChart对象,将QLineSeries添加到QChart中。 4. 将QChart设置到QChartView控件中,显示折线图。 示例代码如下: ``` // 创建QLineSeries对象,添加温度和湿度数据 QLineSeries* tempSeries = new QLineSeries(); QLineSeries* humidSeries = new QLineSeries(); for(int i = 0; i < m_temperatures.size(); ++i) { tempSeries->append(i, m_temperatures[i]); humidSeries->append(i, m_humidities[i]); } // 创建QChart对象,将QLineSeries添加到QChart中 QChart* chart = new QChart(); chart->addSeries(tempSeries); chart->addSeries(humidSeries); chart->createDefaultAxes(); // 自动创建坐标轴 chart->setTitle("Temperature and Humidity"); // 设置标题 // 设置图例 chart->legend()->setVisible(true); chart->legend()->setAlignment(Qt::AlignBottom); // 将QChart设置到QChartView控件中,显示折线图 ui->chartView->setChart(chart); ui->chartView->setRenderHint(QPainter::Antialiasing); // 抗锯齿 ``` 在上述代码中,m_temperatures和m_humidities是存储温度和湿度数据的容器,可以通过外部接口或者文件读取等方式获取数据。通过QLineSeries的append方法添加数据,然后将QLineSeries添加到QChart中。通过QChartView的setChart方法将QChart设置到QChartView中,显示折线图。可以通过QChart的setTitle方法设置标题,通过legend方法设置图例。最后,通过setRenderHint方法设置抗锯齿,使得图表显示更加平滑。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值