Qt第三方QCustomPlot的使用---kalrry

2023-05-16

Qt第三方QCustomPlot的使用---kalrry

  • 一、参考博客
  • End、例子

一、参考博客

  1. QCustomPlot中图例的相关设置
  2. QCustomPlot使用手册
  3. QCustomPlot中图例的相关设置
  4. QCustomPlot更改图例legend位置
  5. QCustomPlot设定图例的位置
  6. QCustomPlot

End、例子

// 数据构造接口
    QVector<double> x,y;
    for(double xi=-2*M_PI;xi<2*M_PI;xi+=0.1)
    {
        x.push_back(xi);
        y.push_back(sin(xi));
    }

    m_Multichannel = new QCustomPlot();//就可以不用写很多 ui->myCustomPlot1 了
    m_Multichannel = ui->myCustomPlot1;

    m_Multichannel->addGraph();//每条曲线必须要有addGraph(),否则无法正常显示

    ======================QCustomPlot设置【下】============================================================
    //设置x、y轴的名称
    m_Multichannel->xAxis->setLabel("这是X轴");
    m_Multichannel->yAxis->setLabel("这是Y轴");

    ======================设置坐标轴========================================================================================
    m_Multichannel->xAxis->setVisible(true);   // 底部坐标轴
    m_Multichannel->yAxis->setVisible(true);   // 左边坐标轴
    //m_Multichannel->xAxis2->setVisible(true);  // 顶部坐标轴
    //m_Multichannel->yAxis2->setVisible(true);  // 右边坐标轴
    //m_Multichannel->axisRect()->setupFullAxesBox();//四边安装轴并显示

    ======================手动设置坐标轴的范围==================================================================
    //m_Multichannel->xAxis->setRange(0,10);
    //m_Multichannel->yAxis->setRange(0,20);
    //m_Multichannel->xAxis2->setRange(0,30);
    //m_Multichannel->yAxis2->setRange(0,40);

    ======================改变刻度起始原点========================================================================================
    //m_Multichannel->xAxis->ticker()->setTickOrigin(1);//改变刻度原点为1

    ======================设置刻度数量========================================================================================
    //m_Multichannel->xAxis->ticker()->setTickCount(11);//11个主刻度
    //m_Multichannel->xAxis->ticker()->setTickStepStrategy(QCPAxisTicker::tssReadability);//可读性优于设置

    ======================设置坐标轴线条颜色属性==================================================================
    m_Multichannel->xAxis->setBasePen(QPen(Qt::white,1,Qt::PenStyle::SolidLine));
    m_Multichannel->yAxis->setBasePen(QPen(Qt::white,1,Qt::PenStyle::SolidLine));
    //m_Multichannel->xAxis2->setBasePen(QPen(Qt::gray,3,Qt::PenStyle::DashLine));
    //m_Multichannel->yAxis2->setBasePen(QPen(Qt::blue,7,Qt::PenStyle::DashDotLine));

    ======================设置背景网格线是否显示--默认显示==================================================================
    //m_Multichannel->xAxis->grid()->setVisible(true);
    //m_Multichannel->yAxis->grid()->setVisible(true);

    ======================设置背景色========================================================================================
    m_Multichannel->setBackground(QColor(25,35,45));
    //ui->widget->axisRect()->setBackground(Qt::lightGray);
    //ui->widget->axisRect()->setBackground(QPixmap("://bag.png"));

    ======================设置背景/网格线条颜色属性==================================================================
    //m_Multichannel->xAxis->grid()->setPen(QPen(QColor(180, 180, 180), 1, Qt::PenStyle::DashLine)); //网格白色虚线
    //m_Multichannel->yAxis->grid()->setPen(QPen(QColor(180, 180, 180), 1, Qt::PenStyle::DashLine)); //网格白色虚线
    m_Multichannel->xAxis->grid()->setSubGridPen(QPen(QColor(50, 50, 50), 1, Qt::DotLine));        //网格浅色点线
    m_Multichannel->yAxis->grid()->setSubGridPen(QPen(QColor(50, 50, 50), 1, Qt::DotLine));        //网格浅色点线
    m_Multichannel->xAxis->grid()->setSubGridVisible(true);                                        //显示x轴子网格线
    m_Multichannel->yAxis->grid()->setSubGridVisible(true);                                        //显示y轴子网格线
    m_Multichannel->xAxis->grid()->setZeroLinePen(QPen(QColor(180, 180, 180)));                     //x轴0线颜色白色
    m_Multichannel->yAxis->grid()->setZeroLinePen(QPen(QColor(180, 180, 180)));                     //y轴0线颜色白色

    ======================刻度线长度和颜色==================================================================
    //QPen penX;
    //penX.setColor(Qt::white);//主刻度红色
    //penX.setWidth(1);//线宽2
    m_Multichannel->xAxis->setTickPen(QPen(QColor(255, 255, 255)));
    m_Multichannel->xAxis->setTickLengthOut(5);//主刻度向外延伸10
    m_Multichannel->yAxis->setTickPen(QPen(QColor(255, 255, 255)));
    m_Multichannel->yAxis->setTickLengthOut(5);//主刻度向外延伸10
    //m_Multichannel->xAxis->setTickLengthIn(30);//主刻度向内延伸30
    //pen.setColor(Qt::blue);//子刻度蓝色
    m_Multichannel->xAxis->setSubTickPen(QPen(QColor(255, 255, 255)));
    m_Multichannel->xAxis->setSubTickLengthOut(0.5);//子刻度向外延伸5
    m_Multichannel->yAxis->setSubTickPen(QPen(QColor(255, 255, 255)));
    m_Multichannel->yAxis->setSubTickLengthOut(0.5);//子刻度向外延伸5
    //m_Multichannel->xAxis->setSubTickLengthIn(15);//子刻度向内延伸15

    ======================坐标轴结束显示箭头==================================================================
    m_Multichannel->xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);
    m_Multichannel->yAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);
    //m_Multichannel->xAxis->setLowerEnding(QCPLineEnding::esDisc);//x轴起点圆点图案


    m_Multichannel->xAxis->setLabelColor(QColor(255, 255, 255));
    m_Multichannel->xAxis->setTickLabelColor(QColor(255, 255, 255));
    m_Multichannel->yAxis->setLabelColor(QColor(255, 255, 255));
    m_Multichannel->yAxis->setTickLabelColor(QColor(255, 255, 255));

    ======================QCustomPlot设置【上】图示教程地址:https://cloud.tencent.com/developer/article/2150466===================================================================



    ======================设置曲线颜色QPen pen3;==================================================================
    QPen pen0;
    pen0.setWidth(1);
    pen0.setColor(Qt::green);
    m_Multichannel->graph(0)->setPen(pen0);
    m_Multichannel->graph(0)->setData(x,y);                 // 设置数据
    m_Multichannel->graph(0)->setName("y=sin(x)");          // 设置曲线名称
    m_Multichannel->legend->setVisible(true);               // 设置显示曲线名称
    m_Multichannel->legend->setFont(QFont("微软雅黑",13));   // 设置曲线名称的字体属性
    m_Multichannel->rescaleAxes(true);                      // 设置自适应

	======================Qt QCustomPlot设置x轴、y轴刻度以及轴、文字颜色============================================
	QFont font;
	font.setPixelSize(14);
 
	m_pPlotWidget->xAxis->setLabelFont(font);
	m_pPlotWidget->yAxis->setLabelFont(font);
 
	font.setPixelSize(14);
	m_pPlotWidget->xAxis->setTickLabelFont(font);
	m_pPlotWidget->yAxis->setTickLabelFont(font);
 
 
	m_pPlotWidget->xAxis->setLabelColor(QColor(255, 0, 0));
	m_pPlotWidget->xAxis->setTickLabelColor(QColor(255, 0, 0));
	m_pPlotWidget->yAxis->setLabelColor(QColor(255, 0, 0));
	m_pPlotWidget->yAxis->setTickLabelColor(QColor(255, 0, 0));
 
 
	QPen pen = m_pPlotWidget->xAxis->basePen();
	pen.setColor(QColor(255, 0, 0));
	m_pPlotWidget->xAxis->setTickPen(pen);
	m_pPlotWidget->xAxis->setBasePen(pen);
	m_pPlotWidget->xAxis->setSubTickPen(pen);
 
 
	pen = m_pPlotWidget->yAxis->basePen();
	pen.setColor(QColor(255, 0, 0));
	m_pPlotWidget->yAxis->setTickPen(pen);
	m_pPlotWidget->yAxis->setBasePen(pen);
	m_pPlotWidget->yAxis->setSubTickPen(pen);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt第三方QCustomPlot的使用---kalrry 的相关文章

  • 嵌入式行业职位分析

    嵌入式开发涵盖硬件软件 xff0c 开发链条很长 xff0c 要根据自己的实际情况选择适应的职位 嵌入式的职位大概有 xff1a 1 硬件工程师 xff1a 负责底层的硬件设计 xff0c 主要要用到 xff1a 1 处理器 xff1a A
  • 常见单片机对比

    各个厂商们也在速度 内存 功能上此起彼伏 xff0c 参差不齐 同时涌现出一大批拥有代表性单片机的厂商 xff1a Atmel TI ST MicroChip ARM 国内的宏晶STC单片机也是可圈可点 下面为大家带来51 MSP430 T
  • Maven关于阿里云的镜像配置地址选哪一个的问题

    网上很多文章介绍配置的地址是 xff1a lt mirror gt lt id gt alimaven lt id gt lt name gt aliyun maven lt name gt lt url gt http maven ali
  • 嵌入式Linux软件开发的三个分类

    一 嵌入式驱动工程师 xff1a 编写和移植各种芯片驱动 xff08 如音频芯片 xff09 xff0c 优化硬件设备驱动 xff08 如温湿度传感器 xff09 xff0c 得精通各种硬件接口协议 xff08 如I2C协议 xff09 系
  • 华为 联发科和台积电的关系及芯片制造产业中其他公司了解

    台积电 xff1a 全称台湾积体电路制造股份有限公司 xff0c 中文简称台积电 xff0c 英文简称 xff1a tsmc xff0c 是全球第一家专业集成电路 xff08 IC xff09 制造服务 xff08 晶圆代工foundry
  • 嵌入式Linux开发细分四个岗位

    嵌入式Linux开发从下到bai上分为 xff1a 嵌du入式硬件开发 嵌入式驱动开发 嵌入式系统zhi开发 嵌dao入式软件开发 一 嵌入式硬件开发 xff1a 熟悉电路等知识 xff0c 非常熟悉各种常用元器件 xff0c 掌握模拟电路
  • Android系国产手机操作系统汇总

    1 华为的Emotion UI系统 Emotion UI 简称EMUI 是华为基于Android 安卓 进行开发的情感化操作系统 拥有简化的用户界面 新的手势导航和HiVision的 AI 功能 xff0c 新系统在国内已经向部分机型推送更
  • 嵌入式开发学习路线 及书籍推荐

    嵌入式学习是一个循序渐进的过程 xff0c 如果是希望向嵌入式软件方向发展的话 xff0c 目前最常见的是嵌入式Linux方向 xff0c 关注这个方向 xff0c 大概分3个阶段 xff1a 1 嵌入式linux上层应用 xff0c 包括
  • Cat.1

    近日 xff0c 中国联通Cat 1芯片大规模采购招标结果出炉 xff0c 这是自年初 一夜走红 之后 xff0c Cat 1再次引发业界关注 实际上 xff0c Cat 1并不是一项新技术 xff0c 其早在十年前就已 出道 坐了十年 冷
  • LTE Cat1有什么用?基于4G LTE打造cat1,弥补NB-IoT和5G的空缺。

    简介 从目前蜂窝物联网发展的态势看 xff0c LTE Cat 1承担4G物联网连接主力的时机已经开启 其中 xff0c Category 1作为最低版参数配置的用户终端等级 xff0c 让业界能够低成本地设计 低配版 的4G终端 xff0
  • 前辈对于JAVA开发和嵌入式发表的一些看法

    提问一 xff1a 二战考研失败 xff0c 今年25 xff0c 在放弃考研 xff0c 学习编程 但是嵌入式orJAVA走哪条路好呢 xff1f 最近在B站看编程视频 xff0c 也刷到一些up主视频 xff0c 说是java市场饱和
  • ubuntu18.04 Realsense d435i SDK 和 ROS wrapper 安装以及相机imu和分别率参数更改

    Realsense d435i SDK 和 ROS wrapper 安装以及相机imu和分别率参数更改 一 SDK参考官方网站 1 Register the server s public key sudo apt span class t
  • vscode中配置git并上传项目到远程仓库

    首先你电脑上得下载git吧 在vscode中设置git 参考 成功后你就会看到 下面就是要把本地项目发布到远程仓库上去 xff08 1 xff09 现在gitee上建一个仓库 xff08 2 以终端操作为例 xff0c 感觉命令行操作更清晰
  • redis整理-kw

    缓存有哪些分类 本地缓存 xff1a 进程中的缓存 xff1b 分布式缓存 xff1a xff08 分布式 xff0c 理解为 xff0c 多个模块 xff0c 共同组成一个系统 xff0c 不一定在或者不在同台服务器上 xff09 多级缓
  • 定时任务报错Encountered invalid @Scheduled method ‘...‘: Exactly one of the ‘cron‘, ‘fixedDelay

    今天在搞定时任务 xff0c 突然报了这个问题 xff0c 发现是在使用 64 Scheduled这个注解时 xff0c 忘记设置参数了 xff0c 比如配置一个默认的延期时间fixedDelay 这里的fixedDelay单位是毫秒 xf
  • 超详细Jetson Xavier NX烧录系统镜像

    一 硬件准备 1 SD卡 xff08 至少32G xff09 和读卡器 xff0c 前者用于转载系统镜像 xff0c 后者用于镜像烧录 2 Jetson Xavier NX开发套件 二 软件准备 1 SDFormatter xff1a 用于
  • python、ros和socket通讯

    项目需要把笔记本的数据发送到小车的ros上 xff0c 我们采用socket通讯的方法 首先把通过socket把笔记本的数据发送到小车上 xff0c 然后通过消息发布和订阅的方式把数据传递到小车的ros上 一 通过socket发送笔记本上的
  • 【YOLOv3 预测】YOLOv3图像输入->处理->输出全过程

    文章目录 1 数据输入输出代码详解2 yolo detect image详解3 感谢链接 1 数据输入输出代码详解 数据输入方式主要包括三种 xff1a 读取本地一张图片 代码中predict状态 读取本地文件夹中所有图片 代码中dir p
  • STM32嵌入式开发常用的协议UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet

    在单片机开发中 xff0c UART I2C RS485等普遍存在 xff0c 对它们的认识可能模棱两可 xff0c 本文它们整理了 UART口通用异步收发器 UART口指的是一种物理接口形式 硬件 UART是异步 xff0c 全双工串口总
  • Autoware学习笔记waypoint_follower之twist_filter

    twis filter launch文件 lt span class token operator span span class token operator span span class token operator span gt

随机推荐

  • 串口概念

    1 xff09 串行接口 1 简称串口 xff08 通常指com接口 xff09 2 特点 xff1a 数据一位一位的顺序传送 通信线路简单 xff0c 只要一对传输线就可以实现双向通信 工作方式有单工 xff0c 半双工 xff0c 全双
  • 无人机UAV与地面站QGC通讯MAVLink协议学习笔记

    目录 写在前面参考学习资源MAVLink消息结构发送消息接收数据 写在前面 最近要学习了解一下Qgroundcontrol中所使用的一些与无人机载体通讯的一些方式 xff0c 所以在这里记录一下学习的过程 参考学习资源 QGroundCon
  • hadoop平台hdfs读取数据过程

    hadoop平台hdfs读取数据过程 xff1a
  • 固定翼调试步骤

    有的时候可能会出现校准不了的情况 xff0c 可以尝试去掉一个罗盘 xff0c 一般去掉的是内置罗盘 xff0c 用外置的罗盘 xff0c 就能够达到要求 将外置的罗盘设置为主罗盘 xff0c 内置罗盘不勾选就可以实现这样的功能 从左右副翼
  • 网络分区是什么?

    网络分区 目前理解 xff0c 在分布式环境下 xff0c 有时由于网络通讯故障 xff0c 而不是服务器上的应用故障 xff0c 导致一些节点认为应用不可用 xff0c 另外一些节点认为应用仍可用 导致 xff0c 整个系统在提供服务时
  • 调试并修理垂起固定翼(VTOL)

    调试 43 修理垂起固定翼 校准遥控器 设置飞行模式 设置的模式的切换是通过通道B来进行的 xff0c 最下面是Guided模式 xff0c 该模式可以运行程序的内容 xff0c 也可以运行写入的航点 中间的模式是QLoiter模式 xff
  • NVIDIA Jetson tx2各性能介绍及切换教程

    1 tx2简介 Jetson tx2 有6个CPU核心和一个GPU NVIDIA命令行工具Nvpmodel提供 xff15 种模式 xff0c 可以方便地让用户配置CPU状态 xff0c 以最大限度地提高不同场景下的性能和能耗 2 五种模式
  • Redis中(error):ERR unknown command ‘KEYS‘, with args beginning with:

    redis报错 ERR unknown command 39 KEYS 39 with args beginning with 1 这种情况是redis服务器不支持keys命令 2 5 0版本改为scan了 2 检查redis的yml配置信
  • 如何用手机控制stm32单片机,通过蓝牙模块

    电脑与单片机通信原理 我们用到的串口调试助手 xff0c 就是通过电脑上面的虚拟串口和单片机的串口进行通信从而来调试 在建立通信的过程中 xff0c 我们需要把电脑上虚拟串口的波特率 xff0c 数据位 xff0c 奇偶校验位 xff0c
  • Vm虚拟机Deepin安装教程---kalrry

    Vm虚拟机Deepin安装教程 kalrry 前言Deepin安装 已完成 前言 Win配置记录 Mac配置记录 Deepin安装 已完成 01 点击创建新的虚拟机 02 选择自定义 高级 点击下一步 N 03 点击下一步 N 04 选择稍
  • 国内外流行的JS游戏开发框架介绍---kalrry

    国内外流行的JS游戏开发框架介绍 kalrry 前言一 整理中ing二 当今国内外流行的游戏开发框架有哪些 三 每个框架的特点以及优缺点1 Three js优点 xff1a 缺点 xff1a 2 Phaser优点 xff1a 缺点 xff1
  • JavaScript库集合---kalrry---ing

    JavaScript库集合 kalrry ing 参考 序号JS库功能备注01web3 jsweb3 js 库是一系列模块的集合 xff0c 服务于以太坊生态系统的各个功能备用链接02Three js03Ramda04Lodash05Mom
  • CPU天梯图/显卡天梯图---kalrry

    CPU天梯图 显卡天梯图 kalrry 一 CPU天梯图二 显卡天梯图 一 CPU天梯图 CPU天梯图更注重综合性能 xff0c 只具有参考意义 二 显卡天梯图 以下显卡天梯图主要是根据传统光栅性能排名
  • Pixhawk飞控资料备忘---kalrry

    Pixhawk飞控资料备忘 kalrry 一 简介二 工具 资料1 Mission Planner2 PX4 需全局跳转 3 Pixhawk官网4 视频资源 三 开发入门四 待分类 一 简介 PX4飞控软件是来自苏黎世大学的PIXHAWK项
  • vue之动态注册并渲染组件---kalrry

    vue之动态注册并渲染组件 kalrry 简介 xff1a 目录结构一 普通方法二 方案二三 方案三四 方案四 简介 xff1a 目录结构 待完善补充 index vue dir 目录文件夹 comp1 vue comp2 vue 一 普通
  • SQL-常见的聚合函数有哪些?

    聚合函数 聚合函数对一组值执行计算并返回单一的值 求个数 记录数 项目数等 xff1a count count 的用法 span class token function COUNT span span class token punctu
  • Vue之v-model双向绑定原理---kalrry

    Vue之v model双向绑定原理 kalrry 一 简介二 表单实现双向绑定1 原理2 实现 三 组件上的双向绑定1 原理2 实现3 实例 一 简介 v model实现双向绑定的语法糖 xff0c 常用于表单与组件之间的数据双向绑定 二
  • Qt开发遇到的坑---kalrry

    Qt开发遇到的坑 kalrry 一 依赖引入坑二 Qt在Debug时报错1 编译器是 MSVC 还是 MinGW 2 编译器 32位 还是 64位 三 Qt 43 MSVC编译后中文乱码四 不能将const char 类型的值分配到cons
  • Sinutrain下载安装与开启OPC UA---kalrry

    Sinumerik下载安装与开启OPC UA kalrry 前言一 安装前准备二 Win7安装1 软件安装2 开启授权3 文件配置4 客户端连接 三 Win10 11安装四 启动后使用五 启动OPC UA 前言 本教程只适用于 Sinutr
  • Qt第三方QCustomPlot的使用---kalrry

    Qt第三方QCustomPlot的使用 kalrry 一 参考博客End 例子 一 参考博客 QCustomPlot中图例的相关设置QCustomPlot使用手册QCustomPlot中图例的相关设置QCustomPlot更改图例legen