winforms 动态画折线 不用chart_QT charts 动态刷新曲线图
前沿
用vs+QT开发应用程序时,当需要显示图表时,使用QtCharts是不错的选择。QtCharts是Qt提供的图表模块,在Qt5.7以前只有商业版才有QtCharts,但是从5.7开始,社区版也包含了QtCharts。QtCharts可以很方便地绘制常见的折线图、柱状图、饼图等图表。
概念介绍
1、QChart
类管理图表中的线、图例和轴的图形表示
2、QChartView
视图组件。一般在窗口设计界面上使用QChartView时,先放置一个QGraphicsView组件,然后升级为QChartView。
QChartView通过 setChart将QChart 添加为显示的图表。
ui.charView->setChart(chart);
3、QLineSeries
序列是数据的表现形式。也就是我们需要展示的数据。一般通过 chart->addSeries,将数据添加到图表。
当然,数据有多种类型,比如QSplineSeries等。
4、QValueAxis
坐标轴。一般的图表都有横轴和纵轴两个坐标轴。
chart->addAxis(axisX, Qt::AlignBottom);设置坐标轴与QChart 的关系。
serial->attachAxis(axisX); 设置数据与坐标轴的关系。
创建工程
要注意勾选 Charts模块,这样创建的工程,才会自动添加 QtCharts需要的头文件和lib文件。
在窗口设计界面上使用QChartView时,先放置一个QGraphicsView组件,然后升级为QChartView。
示例代码
1、初始化Charts
Fidx = 0; FmaxX = 0; FmaxY = 0; FminX = 1000; FminY = 1000; //创建QChart 和 QLineSeries chart = new QChart; serial = new QLineSeries(); serial->setPointsVisible(true); chart->removeAllSeries(); serial->clear(); //创建 坐标轴 QValueAxis* axisX = new QValueAxis; QValueAxis* axisY = new QValueAxis; axisX->setTitleText(bcq::str2qstr("时间")); //标题 axisY->setTitleText(bcq::str2qstr("y")); //标题 //关联chart、axisX、serial chart->addAxis(axisX, Qt::AlignBottom); chart->addAxis(axisY, Qt::AlignLeft); chart->addSeries(serial); serial->attachAxis(axisX); serial->attachAxis(axisY); chart->setTitle(bcq::str2qstr("test")); chart->legend()->hide();// clear up bar chart->setAnimationOptions(QChart::SeriesAnimations); ui.charView->setChart(chart); ui.charView->setRenderHint(QPainter::Antialiasing); chart->axisX()->setMin(0); chart->axisX()->setMax(1); chart->axisY()->setMin(175); chart->axisY()->setMax(225);
2、通过信号槽,动态添加需要显示的数据
//最多显示100个 int count = serial->points().size(); if (count >100) { serial->remove(0); } //改变坐标轴的范围 chart->axisX()->setMin(FmaxX-100); chart->axisX()->setMax(FmaxX); //chart->axisY()->setMin(FminY); //chart->axisY()->setMax(FmaxY); //添加数据到serial serial->append(QPointF(x, y));
winforms 动态画折线 不用chart_QT charts 动态刷新曲线图相关推荐
- 页面中动态画有超连接的图
最近有个项目,客户要求在客户端能动态显示不同年份数据,用折线图来表示,并且单击相关年份能查看详细数据,这里就有个问题放在面前,要从数据库里动态生成折线图,并且不只图,还能友好的操作. 分析了一下,可以 ...
- Unity 画折线图
此处的 unity 版本为 5.6 ,不同的的版本,有些API可能不一样 Unity 在不使用第三方插件的前提下画折线图,目前比较好用的方法是用 Unity 自带的 LineRenderer 组件,别 ...
- 使用canvas画折线图和曲线图
使用canvas画折线图和曲线图 贝塞尔曲线如果想要在p0=>p2的过程中经过p1,那么需要计算出pc的值,在canvas之中作为控制点 二次贝塞尔曲线转换为三次 上面只是简单介绍,具体的参考文 ...
- python利用json和pyecharts画折线图实例
目录 一.json模块对数据进行处理 二.利用pyecharts画折线图 三.利用pyecharts画美.日.印三国家折线图 四.本文数据集 注:本次实验的数据在文章最后面,我已上传至百度网盘 一.j ...
- VC/MFC动态画线(橡皮线),画圆,画椭圆,画矩形
2012年12月7日 22:42:14 今天我在csdn网站上通过学习别人的博客学习到了动态画矩形,画线的方法,这使得我对Windows的消息循环机制有了更深刻的理解.首先来总结一下我今天的收获,呵呵 ...
- python画柱状图 画折线图
# 画柱状图 plt.bar(x_labels, grid) 画折线图 """ for i in range(len(grid)-1): ...
- python怎么做折线图_python怎么画折线图
匿名用户 1级 2018-01-18 回答 一.环境准备 linux ubuntu 下需安装下面三个包: Numpy, Scipy,Matplotlib 分别输入下面的代码进行安装: [plain] ...
- echarts入门基础,画折线图
注意:一定要自己引入echarts库 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- python画折线图代码-用Python画论文折线图、曲线图?几个代码模板轻松搞定!
前言 这几天在搞论文图,唉说实话抠图这种东西真能逼死人.坐在电脑前抠上一天越看越丑,最后把自己丑哭了-- 到了画折线图分析的时候,在想用哪些工具的时候.首先否决了excel,读书人的事,怎么能用exc ...
最新文章
- Find Large Files in Linux
- Python PIL : import _imaging _imagingft : No module named _imaging _imagingft(转)
- F	 Christmas Game
- 预定义变量$_SERVER
- 无法打开、创建WEB项目,VS2003有寄生性?
- ap 目标检测算法map_目标检测mAP怎么计算
- mfc groupbox 边框颜色_蓝色牛仔裤配什么颜色上衣好看
- JS jeDate日期控件使用
- 可以做mysql题的网站_牛客网MySQL练习题
- 安装vim管理插件 pathogen
- 大数据学习计划(不断改善)(小白入门指南)
- 一文带你深入了解,什么是深度学习及其工作原理
- USB SS-PHY Tuning
- 关于 intell IDEA 的代码自动提示功能没有,删了导包也不报红 (已解决)
- css技术点二:字体图标(阿里巴巴字体图标使用)
- Java选择题(十七)
- 小波在图像融合中的应用
- vue.js json_带有Vue.js的JSON编辑器
- Windchill Shell
- 如何像计算机科学家一样思考