QCustomPlot之开始(一)

一、前言

QCustomPlot是Qt的一个小型第三方图表库,支持静态/动态曲线、柱状图、蜡烛图、频谱图等。使用方便,仅需在项目中加入头文件qcustomplot.h和qcustomplot.cpp源文件即可,或者把它当做一个库来添加到项目当中,需要在pro文件加入 DEFINES += QCUSTOMPLOT_COMPILE_LIBRARY

下载地址:https://www.qcustomplot.com/index.php/download

二、简单介绍QCustomPlot的几个重要类

  • QCustomPlot 图表类:用于图表的显示和交互
  • QCPLayer 图层:管理图层元素(QCPLayerable),所有可显示的对象都是继承自图层元素
  • QCPAbstractPlottable 绘图元素:包含 折线图(QCPGraph)、曲线图(QCPCurve)、柱状图(QCPBars)、QCPStatiBox(盒子图)、QCPColorMap(色谱图)、QCPFinancial(金融图)
  • QCPAxisRect 坐标轴矩形:一个坐标轴矩形默认包含上下左右四个坐标轴,但是可以添加多个坐标轴

三、简单介绍QCustomPlot类

QCustomPlot类管理着所有的图层,它默认自带了六个图层,分别是:

  1. 背景层background
  2. 网格层grid
  3. 绘图层main
  4. 坐标轴层axes
  5. 图例层legend
  6. overlay层overlay

依据层的顺序的不同,绘制的顺序也不同,越在底下的层越早绘制,当前层默认为绘图层main

而我们的绘图区域则在QCPAxisRect中,QCustomPlot类默认包含一个QCPAxisRect,我们可以在下图中可以看到一个QCPAxisRect一般来说会有上轴xAxis2、下轴xAxis、左轴yAxis和右轴yAxis2四个轴

QCPAxisRect和QCPAxis的关系图

四、简单使用

我们以官方的一个简单示例来结束这篇

void MainWindow::setupQuadraticDemo(QCustomPlot *customPlot)
{
    QVector<double> x(101), y(101);
    for (int i = 0; i < 101; ++i) {
        x[i] = i / 50.0 - 1; // -1 到 1
        y[i] = x[i] * x[i];
    }

    customPlot->addGraph();                       // 添加一个曲线图QGraph
    customPlot->graph(0)->setData(x, y);          // 为曲线图添加数据
    customPlot->graph(0)->setName("第一个示例");   // 设置曲线图的名字
    customPlot->xAxis->setLabel("x");             // 设置x轴的标签
    customPlot->yAxis->setLabel("y");
    customPlot->xAxis->setRange(-1, 1);           // 设置x轴的范围为(-1,1)
    customPlot->yAxis->setRange(0, 1);
    customPlot->legend->setVisible(true);         // 显示图例
}

效果图

demo1.png

  • 16
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
QCustomPlot 是一个用于绘制图表的 C++ 库,并不是Python的标准库或模块。但是你可以使用Python的 PyQt 或 PySide 库来与 QCustomPlot 进行集成,从而在Python中使用它来绘制图表。 要在Python中使用 QCustomPlot,你需要首先安装 PyQt 或者 PySide。然后,你可以使用这些库提供的界面组件来创建一个包含 QCustomPlot 实例的窗口,并将其显示出来。你可以根据自己的需求,使用 QCustomPlot 提供的函数和方法来绘制不同类型的图表。 以下是一个简单的示例代码,演示了如何在Python中使用 QCustomPlot 来绘制一个简单的折线图: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow import qcustomplot as qcp # 创建应用程序对象 app = QApplication(sys.argv) # 创建主窗口 window = QMainWindow() # 创建 QCustomPlot 实例 custom_plot = qcp.QCustomPlot(window) # 生成一些随机数据 x_data = [1, 2, 3, 4, 5] y_data = [2, 4, 6, 8, 10] # 创建折线图 graph = custom_plot.addGraph() graph.setData(x_data, y_data) # 显示图表 custom_plot.replot() # 设置窗口大小和标题 window.setGeometry(100, 100, 500, 300) window.setWindowTitle("QCustomPlot Example") # 显示窗口 window.show() # 运行应用程序 sys.exit(app.exec()) ``` 请注意,示例代码中的 `import qcustomplot as qcp` 部分假设你已经成功安装了 QCustomPlot 库,并将其命名为 qcustomplot。 希望这个示例能帮助你开始在Python中使用 QCustomPlot 绘制图表。如果需要更多帮助,请查阅 QCustomPlot 的官方文档或搜索相关的教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值