qcustomplot基本使用(代码片段)

林夕07 林夕07     2023-02-05     231

关键词:

文章目录

简述

QCustomPlot是一个基于Qt C++的图形库,用于绘制和数据可视化 - 制作漂亮的2D图 - 曲线图、趋势图、坐标图、柱状图等,并为实时可视化应用程序提供高性能服务。它没有进一步的依赖关系,并有着良好的文档记录。
QCustomPlot可以导出为各种格式,比如:PDF文件和位图(如:PNG、JPG、BMP)。
可在自己的项目中直接使用两个源文件(qcustomplot.h与qcustomplot.cpp),或预先编译成库。

下载

QCustomPlot首页:http://www.qcustomplot.com/
进入QCustomPlot下载页,下载最新的完整包(包含:源码、文档、示例)!
将下载好的安装包进行解压缩,里面包含文档、示例、更改日志、GPL授权、以及最重要的两个文件qcustomplot.h与qcustomplot.cpp。

使用

首先创建一个正常的mainwindow主窗口带ui的qt的工程,然后将我们上面下载的头文件和源文件都放在这个工程中。
然后在.pro文件中添加一行QT += printsupport

再到ui界面添加一个widget,右键提升为QCustomPlot

构造函数中写如下代码。注释已经写的很详细了,此处不再赘述

	this->resize(700,700);//设置主窗口大小
    QCustomPlot *pCustomPlot = new QCustomPlot(this);//实例化一个对象
    pCustomPlot->resize(600, 600);//设置大小
 
    // 可变数组存放绘图的坐标的数据,分别存放x和y坐标的数据,101为数据长度
    QVector<double> x(101), y(101);
 
    // 添加数据,这里演示y = x^3,为了正负对称,x从-10到+10
    for (int i = 0; i < 101; ++i)//模拟数据
    
        x[i] = i/5 - 10;        //一个间距 放五个点
        y[i] = qPow(x[i], 3);   // x的y次方;
    
 
    // 向绘图区域QCustomPlot添加一条曲线   必须先有曲线才能添加数据 否则程序异常崩溃
    QCPGraph *pGraph = pCustomPlot->addGraph();
 
    // 添加数据
    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)));//设置水平的刻度颜色(单位是1)
    pCustomPlot->xAxis->setTickPen(QPen(QColor(128, 0, 255)));//设置刻度画笔
    pCustomPlot->xAxis->setSubTickPen(QColor(255, 165, 0));//设置水平的刻度颜色(单位是0.2)
    QFont xFont = pCustomPlot->xAxis->labelFont();//获取水平的坐标轴名称的字体样式
    xFont.setPixelSize(20);//设置字体大小
    pCustomPlot->xAxis->setLabelFont(xFont);//设置水平的坐标轴名称的字体样式
 
    pCustomPlot->yAxis->setTickLabelColor(Qt::white);//同样的方式设置y轴
    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);

一个简单的图形就出来了。其他功能将在后序展开。

qtvs2017+qt使用qcustomplot绘图(代码片段)

文章目录1.前言2.下载QCustomPlot的源码3.将QCustomPlot添加到QT项目4.移植QCustomPlotDemo中的plots5.移植过程出现的问题5.测试demo完整工程1.前言QCustomPlot是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcusto... 查看详情

使用qt绘图控件qcustomplot绘制波形图(代码片段)

...受到的数据通过曲线显示出来,其实这是用一个叫做QCustomPlot的控件,这个控件不是QT自带的,需要自己下载加入,今天介绍一下这个控件的使用方法,并附源码。QCustomPlot简介QCustomPlot是开源的Qt的第三方绘图... 查看详情

使用qt绘图控件qcustomplot绘制波形图(代码片段)

...受到的数据通过曲线显示出来,其实这是用一个叫做QCustomPlot的控件,这个控件不是QT自带的,需要自己下载加入,今天介绍一下这个控件的使用方法,并附源码。QCustomPlot简介QCustomPlot是开源的Qt的第三方绘图... 查看详情

qcustomplot版本迭代日志(代码片段)

使用QCustomPlot绘图库辅助开发时整理的学习笔记。本篇总结QCustomPlot在各版本中的更新要点。说明使用QCustomPlot绘图库辅助开发时整理的学习笔记。本篇总结QCustomPlot在各版本中的更新要点,详细更新日志可查看QCustomPlot更新日志... 查看详情

qtwidget使用qcustomplot库实现二维螺旋曲线(螺旋曲线一)(代码片段)

文章目录一、要实现的螺旋曲线二、方程式:三、QCustomPlot图形库运用四、关键代码GitHub源码:    QWidgetLearningProQT其它文章请点击这里:    QT学习笔记姊妹篇:    QtQML在Map中使用实现二维螺旋曲线(螺旋曲线二)... 查看详情

基于qtquick的qcustomplot实现(代码片段)

...握必要的C++基础是学习和使用QtQuick框架的重要基石QCustomPlot能做什么可以在QWidget大放异彩,绘制各种图表和曲线也可以在QtQuick大展拳脚基于QtQuick的QCustomPlot实现继承QQuickPaintedItem类实现绘制效 查看详情

基于qtquick的qcustomplot实现(代码片段)

...握必要的C++基础是学习和使用QtQuick框架的重要基石QCustomPlot能做什么可以在QWidget大放异彩,绘制各种图表和曲线也可以在QtQuick大展拳脚基于QtQuick的QCustomPlot实现继承QQuickPaintedItem类实现绘制效 查看详情

qcustomplot(代码片段)

设置背景透明,一定要同时有这两句代码,单独一句不起作用ui->customplot->setBackground(Qt::transparent);ui->customplot->setStyleSheet("background:transparent;");  查看详情

qtwidget使用qcustomplot库实现二维螺旋曲线(螺旋曲线一)(代码片段)

文章目录一、要实现的螺旋曲线二、方程式:三、QCustomPlot图形库运用四、关键代码GitHub源码:    QWidgetLearningProQT其它文章请点击这里:    QT学习笔记姊妹篇:    QtQML在Map中使用实现二维螺旋曲线(螺旋曲线二)... 查看详情

qtwidget使用qcustomplot库实现二维螺旋曲线(螺旋曲线一)(代码片段)

文章目录一、要实现的螺旋曲线二、方程式:三、QCustomPlot图形库运用四、关键代码GitHub源码:    QWidgetLearningProQT其它文章请点击这里:    QT学习笔记姊妹篇:    QtQML在Map中使用实现二维螺旋曲线(螺旋曲线二)... 查看详情

qt_qcustomplot学习(代码片段)

QCustomPlot学习QCustomPlot默认提供了6个层,如下代码所示,分别是:背景层、网格层、主层、坐标轴层、图例层和矩形选择区域层。1.在一张视图中表现两个线#include"widget.h"#include"ui_widget.h"Widget::Widget(QWidget*pa... 查看详情

qt_qcustomplot学习(代码片段)

QCustomPlot学习QCustomPlot默认提供了6个层,如下代码所示,分别是:背景层、网格层、主层、坐标轴层、图例层和矩形选择区域层。1.在一张视图中表现两个线#include"widget.h"#include"ui_widget.h"Widget::Widget(QWidget*pa... 查看详情

qcustomplot学习使用分享

同时发布在http://blog.csdn.net/laixuepu/article/details/78825257QCustomplot学习使用分享QCustomplot网上和例子都是在资源和头文件中加入qcustomplot.h和qcustomplot.cpp,然后在.ui中添加Widget,然后提升为QCustomplot,然后重新命名,在mainwindow中调用,... 查看详情

qcustomplot曲线各种属性详细介绍(代码片段)

文章目录1.legend设置图例字体、大小、是否显示、背景:2.setLabelFont设置轴标签的字体、大小、颜色、内容3.setTickLabelFont设置轴刻度标签的字体、大小、颜色、长度4.setTickLabelType设置刻度标签类型5.setBasePen设置基准轴线颜色、... 查看详情

qtqcustomplot使用记录(代码片段)

QtQCustomPlot使用记录​此文仅记录在使用QtQCustomPlot中遇到的问题以及大致使用流程。QtQCustomPlot详细教程推荐大家看这里。​还有一个写的更好的,可以看这里​目前我的应用场景比较简单,就是采集原始数据,显示波... 查看详情

qt编写自定义控件25-自定义qcustomplot(代码片段)

...上次在写大屏数据可视化电子看板系统时候,提到过改造QCustomPlot来实现柱状分组图、横向柱状图、横向分组图、鼠标悬停提示等。这次单独列出来描述,有很多人疑问为啥不用QChart,或者echart等形式,其实这两种方式我都尝试... 查看详情

qcustomplot绘图实现光标滑过曲线显示点的坐标(代码片段)

有两种方法可实现这个效果:1.通过关联QCustomPlot的mouseMove信号槽事件实现;2.通过继承QCustomPlot类,重写mouseMove虚函数实现;这个两个方法都是获取鼠标位置,然后计算出点的坐标值,利用QToolTip显示点坐... 查看详情

qcustomplot绘图实现光标滑过曲线显示点的坐标(代码片段)

有两种方法可实现这个效果:1.通过关联QCustomPlot的mouseMove信号槽事件实现;2.通过继承QCustomPlot类,重写mouseMove虚函数实现;这个两个方法都是获取鼠标位置,然后计算出点的坐标值,利用QToolTip显示点坐... 查看详情