QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]先看轴部分的名称约定,根据名称就可以修改对应的属性了1.显示坐标轴默认只显示左y轴和下边的x轴,调用setVisible(bool)设置轴是否显示customplot->yAxis2->setVisible(true);//显示y轴2customplot->xAxis2->setVisible(true);//显示x轴2调用se…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

 

1.显示坐标轴

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

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

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

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

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

2.轴线颜色

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

代码例子:

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

3.网格线颜色

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

代码例子:

    customplot->axisRect()->setBackground(QBrush(Qt::black));//背景黑色
    customplot->xAxis->grid()->setPen(QPen(QColor(180, 180, 180), 1, Qt::PenStyle::DashLine));//网格白色虚线
    customplot->yAxis->grid()->setPen(QPen(QColor(180, 180, 180), 1, Qt::PenStyle::DashLine));//网格白色虚线
    customplot->xAxis->grid()->setSubGridPen(QPen(QColor(50, 50, 50), 1, Qt::DotLine));//网格浅色点线
    customplot->yAxis->grid()->setSubGridPen(QPen(QColor(50, 50, 50), 1, Qt::DotLine));//网格浅色点线
    customplot->xAxis->grid()->setSubGridVisible(true);//显示x轴子网格线
    customplot->yAxis->grid()->setSubGridVisible(true);//显示要轴子网格线
    customplot->xAxis->grid()->setZeroLinePen(QPen(Qt::white));//x轴0线颜色白色
    customplot->yAxis->grid()->setZeroLinePen(QPen(Qt::white));//y轴0线颜色白色

4.轴矩形背景使用图片

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

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

    customplot->axisRect()->setBackgroundScaled(true);//启用背景缩放 
    customplot->axisRect()->setBackgroundScaledMode(Qt::AspectRatioMode::IgnoreAspectRatio);//自由缩放
    customplot->axisRect()->setBackground(QPixmap(":/image/background.jpg"));//背景图片

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

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

5.刻度线长度和颜色

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

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

    QPen pen;
    pen.setColor(Qt::red);//主刻度红色
    pen.setWidth(2);//线宽2
    customplot->xAxis->setTickPen(pen);
    customplot->xAxis->setTickLengthIn(30);//主刻度向内延伸30
    customplot->xAxis->setTickLengthOut(10);//主刻度向外延伸10
    pen.setColor(Qt::blue);//子刻度蓝色
    customplot->xAxis->setSubTickPen(pen);
    customplot->xAxis->setSubTickLengthIn(15);//子刻度向内延伸15
    customplot->xAxis->setSubTickLengthOut(5);//子刻度向外延伸5

6.刻度值格式

设置前后对比:

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

 

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

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

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

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

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

b:指数漂亮形式,默认科学计数QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]会变成QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

c:乘号变成×,QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]会变成QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

举例:

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

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

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

setNumberFormat(“fc”) 非法格式,格式减少到’f’

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

6.改变刻度起始原点

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

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

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

7.刻度数量

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

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

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

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

8.刻度值显示和轴标签

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

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

     customplot->xAxis->setTickLabels(true);//显示刻度值
     customplot->xAxis->setTickLabelSide(QCPAxis::LabelSide::lsInside);//显示在内部
     customplot->xAxis->setLabel("this is x Axis Label");//轴标签

9.线结尾装饰

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

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

代码例子:

  customplot->xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);//x轴终点箭头图案
    customplot->xAxis->setLowerEnding(QCPLineEnding::esDisc);//x轴起点圆点图案
    customplot->yAxis->setUpperEnding(QCPLineEnding::esSquare);//y轴终点小方块图案

 

10.轴位置偏移量

QCustomPlot使用心得五:坐标轴常用属性设置[通俗易懂]

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

    customplot->xAxis->setPadding(50);//填充50的空间
    customplot->xAxis->setOffset(50);//偏移50

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181278.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 推荐一个比较好用的画廊展示图片(支持无限轮播)的控件ViewPagerGallery「建议收藏」

    推荐一个比较好用的画廊展示图片(支持无限轮播)的控件ViewPagerGallery「建议收藏」1.在此我们引用支持无限滑动的3D视觉的画廊效果、平面普通广告栏轮播这个例子中有可以运行的效果,大家可以下载下来先看一下,在我开始使用的时候,发现,想要调整pageitem中的间距,比较困难,并没有暴露方法出来。所以就要看一下源代码,发现,在不使用3D效果,即初始化:initBanner(urlList,false),没有什么问题,(这里说的3D效果,就是左右item要比正在显示的ite…

    2022年4月30日
    52
  • 一个全心全意帮助程序猿跳槽的创业者「建议收藏」

    一个全心全意帮助程序猿跳槽的创业者

    2022年1月26日
    36
  • php下intval()和(int)转换使用与区别

    php下intval()和(int)转换使用与区别

    2021年11月10日
    39
  • JAVA连接Redis客户端多种方式实现

    JAVA连接Redis客户端多种方式实现Jedis介绍Redis不仅使用命令来操作,而且可以使用程序客户端操作。现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis<dependencies>..

    2022年6月9日
    33
  • 文本分类算法比较_文本匹配算法

    文本分类算法比较_文本匹配算法本文对常用文本分类算法进行了比较,第一部分包括Rocchio算法,boosting,bagging,,逻辑回归,朴素贝叶斯分类器,k最近邻和支持向量机。另外还包括决策树、条件随机场、随机森林和深度学习算法。第二部分将文本分类技术与标准进行了比较:体系结构、作者、模型、新颖性、特征提取、细节、语料库、验证措施和每种技术的局限性。每个文本分类技术(系统)都包含一个模型,该模型是分类器算法,还需要一个特征提取技术,即将文本或文档数据集转换为数字数据。还列出了用于评估系统的验证措施。文章目录文本分类算法文本分类

    2022年10月28日
    0
  • 龙族h路明非和诺诺_龙族六

    龙族h路明非和诺诺_龙族六清晨,路明非正在熟睡,‘起床了路明非,太阳照屁股了!’芬格尔大喊,路明非终于被惊醒,揉了揉眼睛不满道:‘芬格尔你搞毛线啊!今天可是星期天!’‘星期你妹啊!今天要出任务了你TM还睡!’路明非一听有任务脑子瞬间清醒拿起手机一看“卧槽(#゚Д゚)!都八点了,要迟到了,再晚就要挨骂了。”芬格尔忙说“那你赶紧穿上衣服走了”。“哦,好好,那咱们走吧”。两人穿好衣服急急忙忙的向机场过去。等两人终于到…

    2022年10月8日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号