先看轴部分的名称约定,根据名称就可以修改对应的属性了

1.显示坐标轴

默认只显示左y轴和下边的x轴,调用setVisible(bool)设置轴是否显示

1 customplot->yAxis2->setVisible(true);//显示y轴2

2 customplot->xAxis2->setVisible(true);//显示x轴2

调用setupFullAxesBox,如果某一边没有轴会生成一个,并且四边的轴显示都设置true

1 customplot->axisRect()->setupFullAxesBox();//四边安装轴并显示

2.轴线颜色

代码例子:

1 customplot->xAxis->setBasePen(QPen(Qt::red,4));2 customplot->yAxis->setBasePen(QPen(Qt::blue,4));3 customplot->xAxis2->setBasePen(QPen(Qt::yellow,4));4 customplot->yAxis2->setBasePen(QPen(Qt::green,4));

3.网格线颜色

代码例子:

1 customplot->axisRect()->setBackground(QBrush(Qt::black));//背景黑色

2 customplot->xAxis->grid()->setPen(QPen(QColor(180, 180, 180), 1, Qt::PenStyle::DashLine));//网格白色虚线

3 customplot->yAxis->grid()->setPen(QPen(QColor(180, 180, 180), 1, Qt::PenStyle::DashLine));//网格白色虚线

4 customplot->xAxis->grid()->setSubGridPen(QPen(QColor(50, 50, 50), 1, Qt::DotLine));//网格浅色点线

5 customplot->yAxis->grid()->setSubGridPen(QPen(QColor(50, 50, 50), 1, Qt::DotLine));//网格浅色点线

6 customplot->xAxis->grid()->setSubGridVisible(true);//显示x轴子网格线

7 customplot->yAxis->grid()->setSubGridVisible(true);//显示要轴子网格线

8 customplot->xAxis->grid()->setZeroLinePen(QPen(Qt::white));//x轴0线颜色白色

9 customplot->yAxis->grid()->setZeroLinePen(QPen(Qt::white));//y轴0线颜色白色

4.轴矩形背景使用图片

除了QBrush颜色填充背景,还可以设置图片作为背景

1 customplot->axisRect()->setBackgroundScaled(true);//启用背景缩放

2 customplot->axisRect()->setBackgroundScaledMode(Qt::AspectRatioMode::IgnoreAspectRatio);//自由缩放

3 customplot->axisRect()->setBackground(QPixmap(":/image/background.jpg"));//背景图片

这里有个缩放模式,默认自由缩放,还可以设置KeepAspectRatio或KeepAspectRatioByExpanding,效果如下。

5.刻度线长度和颜色

设置x轴刻度线长度和颜色,这里为了看清楚夸张一点,代码例子:

1 QPen pen;2 pen.setColor(Qt::red);//主刻度红色

3 pen.setWidth(2);//线宽2

4 customplot->xAxis->setTickPen(pen);5 customplot->xAxis->setTickLengthIn(30);//主刻度向内延伸30

6 customplot->xAxis->setTickLengthOut(10);//主刻度向外延伸10

7 pen.setColor(Qt::blue);//子刻度蓝色

8 customplot->xAxis->setSubTickPen(pen);9 customplot->xAxis->setSubTickLengthIn(15);//子刻度向内延伸15

10 customplot->xAxis->setSubTickLengthOut(5);//子刻度向外延伸5

6.刻度值格式

设置前后对比:

1 customPlot->xAxis->setNumberFormat("gbc");//g灵活的格式,b漂亮的指数形式,c乘号改成×

2 customPlot->xAxis->setNumberPrecision(1);//精度1

setNumberFormat()的部分格式可以参考QString::number()

setNumberPrecision相当于设置 QString::number(double n, char format = 'g', int precision = 6)里的precision

除此之外,还有两个特有的格式'b'和'c'

b:指数漂亮形式,默认科学计数

会变成

c:乘号变成×,

会变成

举例:

setNumberFormat("g") 数值小的时候用固定格式,数值大使用科学计数

setNumberFormat("gb") 数值小的时候用固定格式,数值大使用漂亮的10进制幂的指数形式

setNumberFormat("gbc") 在上面的基础上乘号显示×

setNumberFormat("fc") 非法格式,格式减少到'f'

setNumberFormat("hello")  非法格式,因为第一个字符不是'e', 'e', 'f', 'g'或'g'。当前格式代码将不会更改

6.改变刻度起始原点

有些需求要修改刻度显示的原点,例如原来是-10,-5,0,5,10,15,设置原点为1后变成-14,-9,-4,1,6,11,代码例子:

1 customplot->xAxis->setRange(-15,15);2 customplot->xAxis->ticker()->setTickOrigin(1);//改变刻度原点为1

7.刻度数量

一般刻度数量是自动调整的,但也可以手动设置,例如-100到100默认5个主刻度

可以设置成11个主刻度,注意有个刻度步进策略,如果默认是tssReadability,那么customplot有时仍会自动调整,使刻度便于阅读,代码例子:

customplot->xAxis->ticker()->setTickCount(11);//11个主刻度

customplot->xAxis->ticker()->setTickStepStrategy(QCPAxisTicker::tssReadability);//可读性优于设置

8.刻度值显示和轴标签

刻度值默认在外部,可以改成在内部,代码例子:

1 customplot->xAxis->setTickLabels(true);//显示刻度值

2 customplot->xAxis->setTickLabelSide(QCPAxis::LabelSide::lsInside);//显示在内部

3 customplot->xAxis->setLabel("this is x Axis Label");//轴标签

9.线结尾装饰

坐标轴线结尾可以添加装饰,例如常用的箭头esSpikeArrow,下图QCPLineEnding枚举的图案

代码例子:

customplot->xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);//x轴终点箭头图案

customplot->xAxis->setLowerEnding(QCPLineEnding::esDisc);//x轴起点圆点图案

customplot->yAxis->setUpperEnding(QCPLineEnding::esSquare);//y轴终点小方块图案

10.轴位置偏移量

设置离外部和内部各50,代码例子:

1 customplot->xAxis->setPadding(50);//填充50的空间

2 customplot->xAxis->setOffset(50);//偏移50

qcustomplot圆_QCustomPlot使用心得五:坐标轴常用属性设置相关推荐

  1. QCustomPlot使用心得五:坐标轴常用属性设置

    先看轴部分的名称约定,根据名称就可以修改对应的属性了 1.显示坐标轴 默认只显示左y轴和下边的x轴,调用setVisible(bool)设置轴是否显示 customplot->yAxis2-&g ...

  2. qcustomplot圆_QCustomplot使用分享(二) 源码解读

    一.头文件概述 从这篇文章开始,我们将正式的进入到QCustomPlot的实践学习中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCusto ...

  3. 列标题 如何删除gridcontrol_DEV控件GridControl常用属性设置(转)

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  4. [转载]DEV控件:gridControl常用属性设置

    1.隐藏最上面的GroupPanel   gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值   sValue=Table.Rows ...

  5. DEV控件:gridControl常用属性设置

    1.隐藏最上面的GroupPanel   gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值   sValue=Table.Rows ...

  6. chart.js使用学习——柱状图(2:常用属性设置)

      本文介绍柱状图常用属性及效果.柱状图中有部分常用属性与折线图用法相同,本文仅列出这些属性的简要说明,不再详细说明. base   设置图形绘制时的基准值,数值型,默认值为空,设置的值为数值轴上的值 ...

  7. android中用代码设置edittext属性为密码,Android中EditText常用属性设置

    EditText继承关系:View–>TextView–>EditText 常用属性如下:android:layout_gravity="center_vertical" ...

  8. 4.QCustomPlot使用-坐标轴常用属性

    先看轴部分的名称约定,根据名称就可以修改对应的属性了 1.显示坐标轴 默认只显示左y轴和下边的x轴,调用setVisible(bool)设置轴是否显示 customplot->yAxis2-&g ...

  9. html数字添加圆匡,HTml--7(css的常用属性)

    HTml的常遇新是直朋能到分览用属性 1.颜色属性 1.颜色属性遇新是直朋能到分览的定义 有col.工数经会公,近做后一常进司还近做后一常or:green,color:#ff6600(十六进制),简写 ...

最新文章

  1. Java使用POI读取和写入Excel指南
  2. 垃圾邮件分类实战(SVM)
  3. js 深拷贝 和 浅拷贝
  4. python实现输入三角形边长自动作图求面积案例
  5. Selenium 对元素element的操作举例
  6. 论文笔记_S2D.66_ICRA_2021_LVI-SAM: 紧耦合的激光视觉惯导SLAM系统
  7. http请求与响应(content-type)
  8. 操作系统——I/O设备
  9. 如何下载火山安卓软件开发平台
  10. bin文件无法生成,Error: Q0147E: Failed to create Directory ./Flora_GD32.bin\ER$$.ARM.__AT_0x000000C0: File
  11. html5游戏cps,15字讲清CPC、CPM、CPA、CPS、CPL…没节操了
  12. 频繁gc是什么意思_什么情况下会发生full Gc?如何排查频繁发生full Gc的原因?...
  13. 思迈特软件完成C轮融资,让BI真正实现“普惠化”
  14. 解决打开html文件为乱码(完美)
  15. 企业微信的渠道活码怎么用?到底有什么好处?
  16. maskrcnn-benchmark安装过程
  17. 连接手表_小米手表首批已到手 这些事儿你必须知道
  18. ESD(静电释放)上半部分
  19. C语言实现raw格式图像的读入和存取
  20. Android 自定义View(四)实现股票自选列表滑动效果

热门文章

  1. PHP 文件打开/读取
  2. adbi学习:so hook实现机制
  3. js indexOf()
  4. php算法两数之和 复杂度,每天一道leetcode算法题:两数之和-php版
  5. C++友元函数、友元类与类模板
  6. 3、单词分析(暴力枚举)
  7. idea运行报错Parameter ‘name‘ not found. Available parameters are [arg1, arg0, param1, param2]
  8. php 写入套节字,php – 写入套接字并处理损坏的管道
  9. Python 3.8实现支持断点续传的网络文件下载功能
  10. 新学期福利,送18本Python图书