Qt之qcustomplot绘图总结

2023-11-16

1、绘图类:

QCPGraph :折线图

QCPCurve:用于曲线图,可以有循环

QCPBars:柱形图,如果有多个QCPBars ,可以依次重叠

QCPStatisticalBox(需实例化):盒子图

QCPColorMap(实例化):色谱图

QCPFinancial(实例化):金融图

QCPAbstractItem:标示项,包含:

QCPItemStraightLine:直线

QCPItemLine:线段

QCPItemCurve:曲线

QCPItemRect:矩形

QCPItemEllipse:椭圆

QCPItemText:文本

QCPItemTracer:小圆球

QCPItemPixmap:图片

QCPItemBracket:括弧

布局项(QCPLayoutElement):布局项(QCPAbstractLegendItem)、坐标轴矩形(QCPAxisRect)

网格线(QCPGrid):每一个坐标轴对应一个网格线

坐标轴(QCPAxis):一个坐标轴矩形包含四个坐标轴,上下左右四个坐标轴。


2、绘图的基本函数:

QCustomPlot有四个QCPAxis成员变量,四个坐标轴:xAxis(下)yAxis(左)xAxis2(上)yAxis2(右)

  1. setTickStep(double step);//设置刻度间距  
  2. setTickVector(const QVector<double> &vec);//将坐标轴刻度设置为vec  
  3. setAutoTickStep(bool on);//设置是否自动分配刻度间距  
  4. setAutoTicks(bool on);//设置是否自动分配刻度  
  5. setAutoTickCount(int approximateCount);//设置是否自动分配刻度数量  
  6. setBasePen:设置基础画笔
  7. setTickPen:设置刻度画笔
  8. setTickLength:设置刻度长度
  9. setSubTickLength:
  10. setSubTickPen:
  11. setTickLabelFont:设置刻度label字体
  12. setLabelFont:  设置label字体
  13. setTickLabelPadding:设置标签间距
  14. setLabelPadding:设置标签
  15. setRangeReversed:
  16. setLineStyle((QCPGraph::LineStyle)i);//设置线性
  17. setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, 5));//设置每个节点数据绘制风格,默认是空,这里设置为空心圆
  18. rescaleAxes(true);//坐标轴自适应
  19. setTicks(true);//y轴显示刻度
  20. setTickLabels(false);//x轴不显示文本
  21. setTickLabels(true);//y轴显示文本
  22. setupFullAxesBox();一个默认的坐标轴矩形配置,包括:顶部坐标轴跟随底部坐标轴同步、右侧坐标轴跟随左侧坐标轴同步,不仅仅是坐标轴范围跟随同步,包括文本精度、文本格式、坐标轴类型、是否自动生成刻度、刻度间距等等
  23. setTextAlignment(Qt::AlignLeft);//设置文本在矩形区域的位置
  24. setTextAlignment(Qt::AlignLeft);//设置文本在矩形区域的位置
  25. setFont(QFont(font().family(), 9));//设置文本的字体
  26. setPositionAlignment(Qt::AlignRight | Qt::AlignBottom);//设置位置在矩形区域的位置
实例:

// 添加数据
     pCustomPlot->graph( 0 )->setData(x, y);
 
     // 设置坐标轴名称
     pCustomPlot->xAxis->setLabel( "x" );
     pCustomPlot->yAxis->setLabel( "y" );
 
     // 设置背景色
     pCustomPlot->setBackground(QColor( 50 , 50 , 50 ));
 
     pGraph->setPen(QPen(QColor( 32 , 178 , 170 )));
 
     // 设置x/y轴文本色、轴线色、字体等
     pCustomPlot->xAxis->setTickLabelColor(Qt::white);
     pCustomPlot->xAxis->setLabelColor(QColor( 0 , 160 , 230 ));
     pCustomPlot->xAxis->setBasePen(QPen(QColor( 32 , 178 , 170 )));
     pCustomPlot->xAxis->setTickPen(QPen(QColor( 128 , 0 , 255 )));
     pCustomPlot->xAxis->setSubTickPen(QColor( 255 , 165 , 0 ));
     QFont xFont = pCustomPlot->xAxis->labelFont();
     xFont.setPixelSize( 20 );
     pCustomPlot->xAxis->setLabelFont(xFont);
 
     pCustomPlot->yAxis->setTickLabelColor(Qt::white);
     pCustomPlot->yAxis->setLabelColor(QColor( 0 , 160 , 230 ));
     pCustomPlot->yAxis->setBasePen(QPen(QColor( 32 , 178 , 170 )));
     pCustomPlot->yAxis->setTickPen(QPen(QColor( 128 , 0 , 255 )));
     pCustomPlot->yAxis->setSubTickPen(QColor( 255 , 165 , 0 ));
     QFont yFont = pCustomPlot->yAxis->labelFont();
     yFont.setPixelSize( 20 );
     pCustomPlot->yAxis->setLabelFont(yFont);
 
     // 设置坐标轴显示范围,否则只能看到默认范围
     pCustomPlot->xAxis->setRange(- 11 , 11 );
     pCustomPlot->yAxis->setRange(- 1100 , 1100 );


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt之qcustomplot绘图总结 的相关文章

  • 我的世界超富的java种子_《我的世界》最富有的四个种子,第一名有4个村庄,这科学吗?...

    原标题 我的世界 最富有的四个种子 第一名有4个村庄 这科学吗 投胎是一项技术活 这个定律在Minecraft同样适用 好的出生点意味着好的开始 但不是人人都有这种运气 没关系 有种子嘛 Seed 382686119982684279 出生
  • Unity 改变鼠标指针的方法

    在网上查的帖子 先看一下 Texture2D ClickedCursorImg 把鼠标指针改为ClickedCursorImg Cursor SetCursor ClickedCursorImg Vector2 zero CursorMod
  • Api Savior 文档生成 idea 插件进阶教程

    原文地址见 Github Wiki Spring MVC 注解支持表 注解 注解字段 是否支持 作用描述 备注 RequestMapping value path 支持 绑定一个或多个 url RequestMapping method 支
  • JetBrains系列--工具使用方法

    JetBrains系列 工具使用方法 介绍 常用IDE 2 1 IDEA 2 2 pycharm 2 3 goland 2 4 clion 3 快捷方式 4 说明 JetBrains系列 工具使用方法 介绍 JetBrains 系列IDE是
  • 如何在Vue项目中给路由跳转加上进度条

    在平常浏览网页时 我们会注意到在有的网站中 当点击页面中的链接进行路由跳转时 页面顶部会有一个进度条 用来标示页面跳转的进度 如下图所示 虽然实际用处不大 但是对用户来说 有个进度条会大大减轻用户的等待压力 提升用户体验 本篇文章就来教你如
  • 程序员口中常说的API是什么意思?什么是API?

    什么是API 我的回答 API 应用程序编程接口 一般来说 这是一套明确定义的各种软件组件之间的通信方法 什么是API 我们不妨用一个小故事展示出来 研发人员A开发了软件A 研发人员B正在研发软件B 有一天 研发人员B想要调用软件A的部分功
  • Xilinx Vivado .coe文件生成

    一 COE格式文件生成 由于Quartus ii软件ROM用的是mif格式的文件 且可以用软件Guagle wave生成正弦波 三角波 锯齿波 我们可以利用这个软件先生成数据 然后再将其转化为符合COE格式的文件 具体请参考以下步骤 1 先
  • JavaWeb中如何将JSP文件的编码格式修改为UTF-8

    目录 一 修改原因 二 修改步骤 在使用eclipse学习jsp时 很多默认的编码都是ISO 8859 15 而我们需要使用的是utf 8编码 我们第一个接触改变jsp编码的方式可能都是在需要修改的jsp中修改 如下 将charset与pa
  • python线程与进程概述_1.24

    多进程与多线程 进程 Process 是计算机中的程序关于某数据集合上的一次运行活动 是系统进行资源分配和调度的基本单位 是操作系统结构的基础 线程 Thread 有时被称为轻量级进程 Lightweight Process LWP 是程序
  • Java 20新特性:Scoped Values 作用域值(孵化器)

    以下内容由New Bing自动生成 仅介绍了Scoped Values的部分内容 如果需要详细的Scoped Values信息 可以查阅官方JEP 429文档 Java JEP 429是 JDK 20 中引入的唯一一个新特性 目前还处于孵化
  • android点击按钮弹出输入框,android 弹出框(输入框和选择框)

    1 输入框 final EditText inputServer new EditText this inputServer setFilters new InputFilter new InputFilter LengthFilter 5
  • tcp短连接TIME_WAIT问题解决方法大全(3)——tcp_tw_recycle

    tcp tw recycle和tcp timestamps 参考官方文档 http www kernel org doc Documentation networking ip sysctl txt tcp tw recycle解释如下 t
  • ELK日志收集分析服务

    任务要求 搭建ELK集群 收集日志信息并展示 任务拆解 认识ELK 部署elasticsearch集群并了解其基本概念 安装elasticsearch head实现图形化操作 安装logstash收集日志 安装kibana日志展示 安装fi
  • Linux生产者消费者模型(POSIX信号量)

    目录 一 生产者消费者模型 1 基本概念 2 模型特点 3 模型优点 二 基于BlockingQueue的生产者消费者模型 1 基本概念 2 单生产者 单消费者为例进行模拟实现 3 基于计算任务的生产者消费者模型 三 POSIX信号量 1
  • Java经典面试:vuejs调用java后端

    第一个暴击 Spring 上一份Spring的手绘思维脑图 就像是个知识大纲总结 预览一下Spring的知识点 心里有个谱 不过这边我是采用的截图方式 为了把全部的内容都截取出来 所以整个就比较小 可能不是很清晰 Spring面试真题 七大
  • C语言进阶之路:对任意两个数字求和

    提示 可以参考笔者之前的文章 来对此篇博客进行思考 文章目录 介绍 一 如何正确去书写代码 二 使用步骤 1笔者所写代码 2 重要代码部分 总结 介绍 对本文要记录的大概内容 对任意两个数字进行求加减乘除运算 小数 以下是本篇文章正文内容
  • VMware-克隆虚拟机

    VMware 克隆虚拟机 在使用VMware过程中需要经常克隆虚拟机 但是在克隆完整虚拟机后通常都会出现一个问题就是 网络无法连接因为网卡冲突了 告诉大家如何解决 虚拟机克隆 在管理中选择克隆 克隆当前虚拟机状态 选择完整克隆 重新生成网卡
  • 数据结构和算法--链栈(C++实现)

    定义 栈是限定仅在表尾进行插入和删除操作的线性表 把允许插入和删除的一端称为栈顶 top 另一端称为栈底 bottom 不含任何数据元素的栈称为空栈 栈又称为后进先出 Last In First Out 的线性表 简称LIFO结构 incl
  • 【网络编程】网络编程知识点总结

    文章目录 UDP也需要端口号 基于TCP的socket通信中 简易服务端的六步依次为 基于TCP的socket通信中 简易客户端的四步依次为 介绍一下在linux环境下 服务器这六步的使用到的一些函数 参数 返回值类型等 介绍一下在linu

随机推荐

  • pycharm连接远程ssh服务器,Ctrl+S不能自动上传代码

    各位码友在用pycharm连接远程服务器编写代码时 有些情况下 需要保持本地文件和远程文件的同步 可以设置成自动上传 或者按Ctrl S才会上传 设置步骤如以下截图所示 本来这样操作就行了 但是笔者有时设置成按Ctrl S进行保存 按Ctr
  • 基于Pytorch1.8.0+Win10+RTX3070的MNIST网络构建与训练

    直接上代码 先上整个的代码 import torch import torchvision from torch utils data import DataLoader import matplotlib pyplot as plt im
  • Vue3 用src动态引入本地图片

    Vue3 用src动态引入本地图片 东非不开森的主页 躲起来的星星也在努力发光 你也要 如有错误或不足之处 希望可以指正 非常感谢 src动态引入本地图片 1 vue cli搭建的项目 2 vite搭建的项目动态引入本地图片 1 vue c
  • 微信小程序 表单 form 组件

    完整微信小程序 Java后端 技术贴目录清单页面 必看 表单 将组件内的用户输入的switch input checkbox slider radio picker 提交 当点击 form 表单中 form type 为 submit 的
  • 《微机原理》-绪论

    微机原理 文章目录 微机原理 前言 一 微型计算机系统组成 1 早期计算机硬件系统 2 微型计算机系统硬件组成 二 存储器 前言 本系列博客主要是观看西安电子科技大学看老师于2009年录制的 微机原理视频 课程的CPU以8086CPU为例进
  • 基于粒子群改进深度信念网络的回归分析,基于PSO-DBN的回归分析

    目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机 RBM 粒子群算法的原理 DBN的粒子群改进深度信念网络的回归分析 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络 拥有提
  • elementUi中的图片预览功能(图片放大、缩小)preview-src-list属性

    一 图片有时候需要放大预览 放大后可支持放大缩小等功能 element中的preview src list属性可以实现 二 主要代码
  • 2023前端面试题及答案整理(JavaScript)

    JS类型 string number boolean undefined null symbol es6 BigInt es10 object 值类型和引用类型的区别 两种类型的区别是 存储位置不同 值类型存储在栈 stack 中 占空间小
  • sublime Text3下载与安装以及解决安装Install Package时遇见的问题

    sublime Text3下载与安装以及解决安装Install Package时遇见的问题 最近下载安装sublime Text3后 在安装Install Package时遇到了几个问题 网上搜了一大圈终于解决了 特此记录为以后之便 一 下
  • 关于光纤收发器的一些基本常识介绍

    光纤收发器是网络数据传输中必不可缺少的一种设备 那么 什么是光纤收发器呢 光纤收发器都有什么组成的呢 光纤收发器是怎么分类的呢 光纤收发器有哪些特点呢 光纤收发器在数据传播过程中起到什么作用呢 接下来我们就跟随飞畅科技的小编一起来详细了解下
  • idea自动导包、生成作者日期、快捷键自动生成序列化版本号、maven配置。

    文件编码修改 在菜单中的File gt Settings gt Editor gt File Encoding下修改项目文件的编码 自动导包删除包 在菜单中的File gt Settings gt Editor gt General gt
  • docker Centos7镜像无法联网

    docker镜像启动之后 ping外网的IP无法连通 丢失率100 启动命令的问题 启动的时候需要添加网络策略参数 net 建议启动命令如下 docker run net host privileged itd centos 7 usr s
  • switch语句中的case结尾是否必须添加break语句?

    一般必须在case语句结尾添加break语句 但不是一定必须的 switch c 语句中c可以是int long char unsigned int等类型 唯独不可以是float类型 我百度搜到的比较容易理解的解释如下 一 不加break就
  • Sentinel注解集合排序-代码笔记

    private static void insertSorted List
  • Console.WriteLine打印中文为何出乱码?

    因为你当前环境代码页是437 是美国英语的字符编码 你把你环境设置成936就是简体中文字符编码环境了 你当前的是这个 Console OutputEncoding Encoding GetEncoding 437 设置成这样就支持中文编码了
  • 虚拟机运用vscode实现可视化代码跟踪调试

    可视化代码跟踪调试 一 安装基于跨平台多类型代码编辑器VScode 二 安装vscode的c c 插件 三 配置launch json和task json这两个文件 1 创建文件 2 打开vscode 四 编译调试c 程序 一 安装基于跨平
  • 隐私协议&授权访问的实现

    目录 交互逻辑 隐私协议的实现 初始化隐私协议 隐私协议确认弹窗 再次确认弹窗 隐私政策 用户协议界面 用户协议界面 隐私政策界面 隐私协议的文档 授权访问的实现 初始化授权访问 授权访问工具类 隐私协议 授权访问的示例项目 交互逻辑 用户
  • 华为OD机试 - 约瑟夫问题(Java)

    题目描述 输入一个由随机数组成的数列 数列中每个数均是大于 0 的整数 长度已知 和初始计数值 m 从数列首位置开始计数 计数到 m 后 将数列该位置数值替换计数值 m 并将数列该位置数值出列 然后从下一位置从新开始计数 直到数列所有数值出
  • Caffe源码中syncedmem文件分析

    Caffe源码 caffe version 09868ac date 2015 08 15 中有一些重要文件 这里介绍下syncedmem文件 1 include文件 1
  • Qt之qcustomplot绘图总结

    1 绘图类 QCPGraph 折线图 QCPCurve 用于曲线图 可以有循环 QCPBars 柱形图 如果有多个QCPBars 可以依次重叠 QCPStatisticalBox 需实例化 盒子图 QCPColorMap 实例化 色谱图 Q