【QCustomPlot】1.2 - QCustomPlot绘制静态曲线、常用函数的功能说明
使用QCustomPlot绘制静态曲线。并对常用函数的功能进行说明。
大部分参照别人博客,以在代码工程中附上了链接。
我的学习例程仓库,GitHub:QCustomPlot 学习例程下载
绘图坐标轴布局
坐标轴标签、刻度的分布,如下图示:
基本常用函数
(1)设置坐标轴标签名称 - setLabel
// 给widget绘图控件,设置个别名,方便书写
QCustomPlot *customPlot = ui->widget;// 设置x,y坐标轴标签名称
customPlot->xAxis->setLabel("x");
customPlot->yAxis->setLabel("y");
(2)设置坐标轴标签颜色 - setLabelColor
// 设置x,y坐标轴标签颜色
customPlot->xAxis->setLabelColor(QColor(0, 160, 230));
customPlot->yAxis->setLabelColor(QColor(0, 160, 230));
(3)设置坐标轴标签字体 - setLabelFont
// 设置x坐标轴标签字体
QFont xFont = customPlot->xAxis->labelFont();
xFont.setPixelSize(20);// 设置像素大小
xFont.setBold(true);// 粗体
xFont.setItalic(true);// 斜体
customPlot->xAxis->setLabelFont(xFont);
(4)设置坐标轴范围 - setRange
// 设置x,y坐标轴显示范围,不设置时默认范围为 0~5
customPlot->xAxis->setRange(-10, 10);
customPlot->yAxis->setRange(-100, 100);
(5)设置坐标轴 主刻度线颜色 - setTickPen
// 设置x,y坐标轴主刻度线颜色
customPlot->xAxis->setTickPen(QPen(Qt::yellow));
customPlot->yAxis->setTickPen(QPen(Qt::yellow));customPlot->xAxis->setTicks(false);//x轴不显示主刻度
customPlot->yAxis->setTicks(true);//y轴显示主刻度
(6)设置坐标轴 子刻度线颜色 - setSubTickPen
// 设置x,y坐标轴 子刻度线颜色
customPlot->xAxis->setSubTickPen(QColor(255, 165, 0));
customPlot->yAxis->setSubTickPen(QColor(255, 165, 0));
(7)设置坐标轴刻度标签(数字)颜色 - setTickLabelColor
// 设置x,y轴刻度数字颜色
customPlot->xAxis->setTickLabelColor(Qt::white);
customPlot->yAxis->setTickLabelColor(Qt::white);
(8)设置坐标轴基线颜色 - setBasePen
// 设置x,y坐标轴基线颜色
customPlot->xAxis->setBasePen(QPen(Qt::red));
customPlot->yAxis->setBasePen(QPen(Qt::red));
(9)设置背景色 - setBackground
// 设置背景色
customPlot->setBackground(QColor(50, 50, 50));
(10)导出图片 - savePng
// 导出图片
customPlot->savePng("customPlot.png", 480, 320);
导出的图片在 build-xxx-Debug/Release 运行目录下,并非在工程目录下
(11)添加曲线、曲线的坐标点数据
// 添加一条绘图曲线
QCPGraph *pGraph2 = customPlot->addGraph();/// 这行代码等同于 customPlot->addGraph(); QCPGraph *pGraph2 = customPlot->graph(1);
// 设置曲线颜色
pGraph2->setPen(QPen(QColor(0, 0, 255)));
// 曲线的坐标数据,计算x和y的坐标
QVector<double> x1(201), y1(201);
for (int i = 0; i < 201; ++i)
{x1[i] = -10 + 0.1f *i;y1[i] = cos(x1[i])*50; // y = 50cosx
}
// 设置曲线的坐标数据
pGraph2->setData(x1, y1);
(12)设置图中单个数据点的连接方式。(有不连接、实现连接、折现、y轴柱状图) - setLineStyle
// 设置图中单个数据点的连接方式
// 帮助手册搜LineStyle可查到相关内容
// lsNone,lsLine(默认的,连线),lsStepLeft,lsStepRight,lsStepCenter,lsImpulse
customPlot->graph(0)->setLineStyle(QCPGraph::lsImpulse);
(13)设置单个数据点的外观(有无散点、散点形状) - setScatterStyle
// 设置每个数据散点为空心圆,大小为5
customPlot->graph()->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, 5));
(14)显示图标的图例
// 显示图标的图例
customPlot->legend->setVisible(true);
(15)图表大小自适应曲线数据
customPlot->graph()->rescaleAxes(true);//坐标轴自适应
更多 QCustomPlot控件的使用操作,会在本专栏的后续篇章介绍,一起学习进步。
工程已同步至GitHub,欢迎下载学习。使用时记得遵循GPLv3哦。
我的学习例程仓库,GitHub:QCustomPlot 学习例程下载
【QCustomPlot】1.2 - QCustomPlot绘制静态曲线、常用函数的功能说明相关推荐
- 数据分析之numpy基础/matplotlib绘图/numpy常用函数/杂项功能
文章目录 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象 ...
- VBS常用函数及功能
函数名 语法 功能 Abs Abs(number) 返回一个数的绝对值 Sqr Sqr(number) 返回一个数的平方根 Sin Sin(number) 返回角度的正玄值 Cos Cos(numbe ...
- 计算机excel函数应用实例,几个常用函数的功能与应用范例
1. AND函数 功能: 返回逻辑值:如果所有参数值均为逻辑"真(TRUE)",则返回逻辑"真(TRUE)",反之返回逻辑"假(FALSE)" ...
- html5添加随机率,HTML5 canvas 绘制随机曲线 并实现放大功能
正在开发一个无线监控系统,要显示频率波形图,所以最近一段时间再研究HTML5 canvas 标签,本例实现了根基传经来的数据绘制曲线,并对整个图实行局部放大功能. js代码(canvas_06.js) ...
- php绘制历史曲线,thinkphp浏览历史功能实现方法
这篇文章主要介绍了thinkphp浏览历史功能实现方法,可实现浏览器的浏览历史功能,是非常实用的技巧,需要的朋友可以参考下 本文实例讲述了thinkphp浏览历史功能实现方法,分享给大家供大家参考.具 ...
- [转载] MFC绘制动态曲线,用双缓冲绘图技术防闪烁
转载的原文地址 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静态曲线,那 ...
- MFC绘制动态曲线,用双缓冲绘图技术防闪烁
转载自:ZHY_ongu的博客:MFC绘制动态曲线,用双缓冲绘图技术防闪烁 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线. 所谓动画,都是一帧一帧 ...
- python实时绘制动态曲线_pyqt中使用matplotlib绘制动态曲线
一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟 ...
- 【less-5】基于SQLI的SQL盲注常用函数
实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! 实验目的 实验环境 实验原理 实验步骤 第一步 登录SQLI-Labs平台 第二步 登录Kali平台,启动Firef ...
最新文章
- java rest tomcat_java – REST服务返回HTTP 204(Tomcat / Linux)
- Spring-data-redis:特性与实例--转载
- kepler架构GPU新特性--HyperQ
- Selector 概念
- 微信小程序 高德地图知道两点求道路_微信小程序——计算2点之间的距离
- shiro学习(14):springMVC结合shiro完成认证
- Thrift CentOS安装和使用
- 【英语学习】【WOTD】countermand 释义/词源/示例
- Atlas读写分离Mysql集群的搭建
- 帆软报表跨域之插件开发中Controller中定义的方法实现CROS的GET跨域,且请求头带自定义属性
- 阿里云祝顺民:因云而生的云原生网络
- srs推flv流_SRS流媒体服务器之HLS源码分析(3)
- 《穿越计算机的迷雾》读书笔记六
- 显示upnp服务器 sonos,蒲公英的上层设备如何开启UPnP及其优点
- iphonex 序列号_iPhoneX序列号在哪?苹果iPhoneX序列号怎么看?
- 运维工程师主要做什么_网络工程师和网络运维工程师到底有什么不同?
- 【推免】笔试+机试+面试 准备
- Linux - 如何查看Ubuntu系统的版本信息
- 点击input文本框,文字消失 JS
- 队列Java舞会_stl之队列(舞会) - osc_706v6usl的个人空间 - OSCHINA - 中文开源技术交流社区...