全部 android asp.net C/C++ cshap IOS Java javascript nodejs perl php python ruby web容器 其他 前端 数据库 第三方平台 混合式APP 网络 系统 默认分类

QCustomplot使用分享(二) 源码解读

0 122

一、头文件概述

     从这篇文章开始,我们将正式的进入到QCustomPlot的实践中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCustomPlot的目录下documentation/qcustomplot下寻找一个名字叫做index.html的文件,将其在浏览器中打开,也是可以找到这个库的类图。如图1所示,是组成一个QCustomPlot类图的可能组成形式。

  1. 一个图表(QCustomPlot):包含一个或者多个图层、一个或多个item(用于展示一些固定的元素,例如文本、线段等)、一个或者多个可以绘制的元素、一个布局
  2. 一个图层(QCPLayer):包含基本的元素(QCPLayerable)
  3. 一个QCPAbstractItem:包含一个或者多个位置信息
  4. 一个坐标轴矩形(QCPAxisRect):包含多个坐标轴、有一个图例类(多个图例项)

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" alt="" />

图1 图表组成

      在一个QCustomPlot类图中最重要、用的最多的是QCPLayerable元素,几乎除了QCPLayer以外的元素都是继承于该类。

  1. QCPAbstractPlottable:绘图元素,包含:折线图(QCPGraph)、曲线图(QCPCurve)、柱状图(QCPBars)、QCPStatiBox(盒子图)、QCPColorMap(色谱图)、QCPFinancial(金融图)
  2. QCPAbstractItem:标示项,包含:直线(QCPItemStraightLine)、线段(QCPItemLine)、曲线(QCPItemCurve)、矩形(QCPItemRect)、椭圆(QCPItemEllipse)、文本(QCPItemText)、小圆球(QCPItemTracer)、图片(QCPItemPixmap)
  3. 布局项(QCPLayoutElement):布局项(QCPAbstractLegendItem)、坐标轴矩形(QCPAxisRect)
  4. 网格线(QCPGrid):每一个坐标轴对应一个网格线
  5. 坐标轴(QCPAxis):一个坐标轴矩形包含四个坐标轴,上下左右四个坐标轴。

h1").addClass("layui-elem-quote"); var preh = $("pre").html(); if(preh){ // preh = preh.replace(/]*>/,""); } // $("pre").html(preh); // $('#content1 ').html($("#content1").html().replace(/

热忱回答0