QCharts QValueAxis使用
QValueAxis是用来自定义图表中的X,Y坐标轴使用
#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QAreaSeries>
#include <QtCharts/QValueAxis>
QT_CHARTS_USE_NAMESPACE
int main(int argc, char *argv[])
{QApplication a(argc, argv);QLineSeries *series = new QLineSeries();series->setPen(QPen(Qt::blue,1,Qt::SolidLine));*series << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6)<< QPointF(16, 7) << QPointF(18, 5);QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple example");chart->setAnimationOptions(QChart::SeriesAnimations);//设置曲线呈动画显示QValueAxis *axisX = new QValueAxis; //定义X轴axisX->setRange(0, 20); //设置范围axisX->setLabelFormat("%g"); //设置刻度的格式axisX->setTitleText("X Axis"); //设置X轴的标题axisX->setGridLineVisible(true); //设置是否显示网格线axisX->setMinorTickCount(4); //设置小刻度线的数目// axisX->setLabelsVisible(false); //设置刻度是否显示QValueAxis *axisY = new QValueAxis;axisY->setRange(0, 20);axisY->setTitleText("Y Axis");axisY->setLabelFormat("%.2f");axisY->setGridLineVisible(true);chart->setAxisX(axisX, series);chart->setAxisY(axisY, series);chart->legend()->hide();QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);QMainWindow window;window.setCentralWidget(chartView);window.resize(400, 300);window.show();return a.exec();
}
代码也是标注得非常明白了,下面要做一些补充和延伸:
1. 跟QWT不同,图表中的网格是由坐标轴去处理的。
2. 如果你只想定义其中的一个坐标轴,那你必须先调用createDefaultAxes()才去自定义, 不然会出现错误的。
3. setLabelFormat就是设置刻度的格式,例如要显示多少位数字等等,下面可以参考一下所有的格式:
%A 浮点数、十六进制数字和p-记法(C99)
%c 一个字符
%d 有符号十进制整数
%e 浮点数、e-记数法
%E 浮点数、E-记数法
%f 浮点数、十进制记数法
%g 根据数值不同自动选择%f或%e.
%G 根据数值不同自动选择%f或%e.
%i 有符号十进制数(与%d相同)
%o 无符号八进制整数
%p 指针
%s 字符串
%u 无符号十进制整数
%x 使用十六进制数字0f的无符号十六进制整数
%X 使用十六进制数字0f的无符号十六进制整数
%% 打印一个百分号
4. 坐标轴是通过void setTickCount(int count)去设置大刻度线的数目,默认是5,不能小于2,而void setMinorTickCount(int count)是设置小刻度线的数目,小刻度线就是没有刻度的线,这里要注意一下,如果你设成5,就是说明两个大刻度线之间有5条小刻度线,分成了6个小区间,而不是5个小区间。
5. chart->legend()->hide();这里是把图例隐藏,什么叫做图例?图例就是指下图红色框标记的东西,后面会进一步说明这个东西的:
本文转自: http://www.voidcn.com/article/p-dzowcfep-ben.html
其它文章 :
QT TextEdit控件_双子座断点的博客-CSDN博客_qt textedit
QT QComboBox使用详解_双子座断点的博客-CSDN博客
QT QtableView操作详解_双子座断点的博客-CSDN博客_qtableview增删改查
Qt QStandardItemModel(1.超级详细用法)_双子座断点的博客-CSDN博客_qstandardmodel
Qt QStandardItemModel(2.超级详细函数)_双子座断点的博客-CSDN博客_qstandarditemmodel点击事件
QT QRadioButton使用详解_双子座断点的博客-CSDN博客_qt radiobutton
QT QLineEdit使用详解_双子座断点的博客-CSDN博客_qt qlineedit
Qt QMessageBox使用详解_双子座断点的博客-CSDN博客_qt message
QChart折线图、饼状图、条形图、曲线图_双子座断点的博客-CSDN博客_qchart样式
QChart属性详解_双子座断点的博客-CSDN博客_setanimationoptions
QCharts QValueAxis使用_双子座断点的博客-CSDN博客_qvalueaxis
Qt 5 等待提示框(开源 动态图)_双子座断点的博客-CSDN博客_qt 等待对话框
QtDataVisualization 数据3D可视化_双子座断点的博客-CSDN博客_qtdatavisualization
QCharts QValueAxis使用相关推荐
- QT QtableView操作详解
本文实现了使用QtableView控件来显示数据,数据源使用txt文本作为数据源,使用了QStandardItemModel作为数据模型来实现了对TableView空间的初始化,和对txt数据源的增删 ...
- QT QLabel控件(使用详解)
本文详细的介绍了TextLabel控件的各种操作,例如:显示边框.设置文字.设置字体.设置信息提示框.状态提示.居中对齐.加载图片.自适应图片大小.设置位置大小.样式表等操作. 本文作者原创,转载请附 ...
- QT QTabWidget 控件 使用详解
本文详细的介绍了QTabWidget控件的各种操作,例如:新建界面.设置页面名字.设置提示信息.设置页面激活.设置标题栏位置.设置页面关闭按钮.设置页面关闭按钮.获取页面下标.获取页面总数.清空所有页 ...
- QtDataVisualization 数据3D可视化
Data Visualization的三维显示功能主要由三种三维图形来实现,分别是三维柱状图Q3DBars,三维空间散点Q3DScatter,三维曲面Q3DSurface.这三个类的父类都是QAbst ...
- QT QSpinBox 整数计数器控件 使用详解
本文详细的介绍了QSpinBox控件的各种操作,例如:获取数值.设置前后缀.设置最大/小值.进制转换.关联信号槽.优化信号.QSS优化.文件源码.样式表 .效果:可以设置背景.边框.向上按钮.向下按钮 ...
- qt可视化数据展板_Qt 2D数据可视化之QCharts
欢迎关注公众号,获得更多其他信息.如果对你有帮助,可以点个赞,让它可以帮助到更多的同志~ 公众号: Pou光明 Qt Charts 在Qt4时代就有了,不过一直以来是商业许可的.QCharts可以在社 ...
- qchart折现图_Qt开发技术:QCharts(二)QCharts折线图介绍、Demo以及代码详解
若该文为原创文章,未经允许不得转载 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 敬请期待- 红胖子,来也! 介绍了整体框架,开始动手码代码,按照顺序,从折线图开始. QCh ...
- QCharts随时间流逝
项目需求: 温度随时间流逝折线图; 组件: QCharts + 定时器; 重点: QDateTimeAxis Api的应用;常规坐标QValueAxis,这里使用QDateTimeAxis时间轴: 要 ...
- Qt开发技术:QCharts(三)QCharts样条曲线图介绍、Demo以及代码详解
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/108022984 各位读者,知识无穷而人力有穷 ...
最新文章
- Java并发之synchronized关键字
- Luogu3835 【模板】可持久化平衡树(fhq-treap)
- EXT.NET GridPanel展开与收缩
- Opencv-Python部署SIFT函数问题的处理
- 8.局部变量/全局变量global/内嵌函数/闭包nonlocal
- 系列(四)—Http协议
- Python零基础学习笔记(十三)—— if 和 if-else语句...
- 微信 手机 网站 开发 签名 signature node (在更新中)
- linux 中添加kvm虚拟化,在 Centos7 的KVM上启用嵌套虚拟化
- 照葫芦画瓢之老男孩购物车程序
- FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧内宏块(Intra)
- inux中tail命令---用于查看文件内容
- MATLAB 比较好入门书籍有哪些推荐
- linpack实验:MPI代码调优
- java 好和不好的形容词 英语怎么说_常用英语形容词,不好的形容事情的形容词英语。...
- 学计算机专业1050显卡够不够,gtx1050显卡性能怎么样
- Nginx管理(二)
- 一线城市广州,再次对“双一流”毕业生放宽落户条件
- java项目进度跟踪管理系统
- ubuntu下远程访问服务器的方法
热门文章
- 用友NC 财务核算账簿启用时 提示选中的科目表不是当前集团的账簿类型对应科目体系下的政策性科目表或其派生的科目表
- 对于按字寻址和按字节寻址的理解
- 教你如何鉴别原装和组装线孔耳机
- 概率分析方法与推断统计(来自我写的python书)
- linux mysql 备份 恢复_[转]linux下如何备份与恢复mysql数据库。
- C++ Pointer指针
- jQuery选择器及事件
- Android Google Maps V2之动态Polyline
- MATLAB中常见数字信号处理相关函数汇总
- python3 psycopg2查询PostgreSQL返回字典