一些成指数变化的数据,在图表中需要使用对数坐标轴显示。QChart提供列QLogValueAxis来实现对数坐标轴。

QLogValueAxis

QLogValueAxis类将对数刻度添加到图表的坐标轴。对数刻度是基于数量级的非线性刻度,因此轴上的每个刻度线都是前一个刻度线乘以一个值。

注意: 如果图表序列中的有小于或等于0的值,则不会绘制该图表序列。

QLogValueAxis常用函数:

  • setBase(self,base):设置对数坐标轴的底数,该值必须大于0,且不能等于1。
  • setLabelFormat(self, format):设置为坐标轴创建标签时使用的格式字符串。
  • setMax(self, max):设置坐标轴的最大值。
  • setMin(self, min):设置坐标轴的最小值。
  • setRange(self, min, max):设置坐标轴值的范围。
  • setMinorTickCount(self, count):设置坐标轴上次刻度线的数量。

QLogValueAxis常用信号:

  • baseChanged(self, base): 当由base指定的坐标轴底数发生了改变,将发出此信号。
  • labelFormatChanged(self, format):当由format指定的坐标轴标签使用的显示格式发生了改变,将发出此信号。
  • maxChanged(self, max):当max指定坐标轴的最大值发生了变化,将发出此信号。
  • minChanged(self, min):当由min指定坐标轴的最小值发生了变化,将发出此信号。
  • rangeChanged(self, min, max):当由minmax指定的坐标轴的最大值或最小值发生了改变,将发出此信号。
  • minorTickCountChanged(self, minorTickCount):当由minorTickCount指定的坐标轴上的次刻度线数量改变时,将发出此信号。
  • tickCountChanged(self, tickCount):当由tickCount指定的坐标轴上的刻度线数量改变时,将发出此信号。

QLogValueAxis示例

示例显示了如何使用QLogValueAxis。 完整代码如下:

import sysfrom PyQt5.QtCore import Qt, QPointFfrom PyQt5.QtGui import QPainterfrom PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBoxfrom  PyQt5.QtChart import QChart, QChartView, QLineSeries, QLogValueAxis, QValueAxis class DemoLogValueAxis(QMainWindow):    def __init__(self, parent=None):        super(DemoLogValueAxis, self).__init__(parent)                    # 设置窗口标题        self.setWindowTitle('实战 Qt for Python: 对数值坐标轴演示')              # 设置窗口大小        self.resize(480, 360)                self.createChart()        def createChart(self):                    #设置折线数据        lineSeries = QLineSeries()        lineSeries.append(QPointF(1.0, 1.0))        lineSeries.append(QPointF(2.0, 73.0))        lineSeries.append(QPointF(3.0, 268.0))        lineSeries.append(QPointF(4.0, 17.0))        lineSeries.append(QPointF(5.0, 4325.0))        lineSeries.append(QPointF(6.0, 723.0))                #创建图表        chart = QChart()        chart.legend().hide()        chart.addSeries(lineSeries)        chart.setTitle('对数值坐标示例')                #坐标轴        axisX = QValueAxis()        axisX.setLabelFormat('%i')        axisX.setTitleText('数据点')        axisX.setTickCount(len(lineSeries))        chart.addAxis(axisX, Qt.AlignBottom)        lineSeries.attachAxis(axisX)                axisY = QLogValueAxis()   #对数值坐标        axisY.setLabelFormat('%g')        axisY.setTitleText('值')        axisY.setBase(8.0)        axisY.setMinorTickCount(-1)        chart.addAxis(axisY, Qt.AlignLeft)        lineSeries.attachAxis(axisY)                #图表视图        chartView = QChartView(chart)        chartView.setRenderHint(QPainter.Antialiasing)                self.setCentralWidget(chartView)              if __name__ == '__main__':    app = QApplication(sys.argv)    window = DemoLogValueAxis()    window.show()    sys.exit(app.exec())   

运行结果如下图:

QChart对数坐标示例

本文知识点

  • 了解QLogValueAxis, 使用对数坐标的图标序列的值不能小于或等于0。
  • 如何在图表中使用对数坐标轴。

请多多关注,评论,收藏,点赞,和转发。


前一篇: 实战PyQt5: 152-QChart图表之日期时间坐标轴

pyecharts 显示坐标轴线_实战PyQt5: 153-QChart图表之对数坐标轴相关推荐

  1. qchart 图表_实战PyQt5: 158-QChart图表之线条缩放显示

    线条缩放 在数据量比较的折线图或者曲线图,受图表本身显示区域大小的限制,不能精细地显示某一小块区域的数据变化,QChartView提供了方法setRubberBand()可以实现一种类似放大镜的功能, ...

  2. chart.js 饼图显示百分比_实战PyQt5: 135-数据可视化之QChart绘制饼图

    饼图是数据可视图表的基本类型,在QChart中,QPieSeries, QPieSlice处理饼图的绘制. QPieSeries QPieSeries类以饼图形式显示数据.饼图系列由定义为QPieSl ...

  3. pyqt5 qlabel无法显示图片_实战PyQt5: 011-单选框控件QRadioButton

    单选框QRadioButton简介 QRadioButton为单选按钮, 可以选中(打开)或者取消选中(关闭).在一组单选按钮中,一次只能选中其中的一个按钮.选中或者取消选中QRadioButton, ...

  4. pyqt5 qwidget 边框_实战PyQt5: 116-画刷类QBrush

    QBrush简介 QBrush类定义由QPainter绘制的形状的填充图案.一个画刷可以有颜色,填充图案,渐变和纹理属性. 样式填充使用Qt.BrushStyle枚举变量定义填充图案.默认的填充样式为 ...

  5. qss qmenu 设置icon位置大小_实战PyQt5: 125-使用配置文件来保存和恢复应用的设置...

    在通常情况下,用户使用一个软件的时候,期望保存一些数据状态,比如窗口的大小和位置,主题,选项,最近操作过的文件等等信息,在下一次启动软件的时候就自动加载这些信息,让软件恢复到上一次退出时的状态.在Wi ...

  6. qchart 坐标轴设置_实战PyQt5: 156-QChart图表之更换图表主题

    图表主题 QChart定义了多种图表主题,可以创建不同风格的图表显示,在调整图表主题风格的时候,为了使整个应用的风格看起来更和谐一致,一般要使用应用程序的背景调色板来调整应用的颜色以适配图表所选的主题 ...

  7. button 样式_实战PyQt5: 111-可以使用QSS样式表的部件

    可以使用QSS样式表的部件 QSS样式表支持各种部件,属性,伪状态和子控件,从而可以实现定制部件的外观,下面我们将详细列出可以使用QSS样式表的部件: QAbstractScrollArea:所有派生 ...

  8. winform listview 设置选中项 图片_实战PyQt5: 069-MV框架中的项视图拖放功能

    模型-视图框架完全支持Qt的基本拖放操作,列表.树形和表格部件中的项可以在视图间拖动,数据可以以MIME类型的格式进行导入和导出 Qt提供的标准视图自动支持在视图内部的拖放,其中的项可以被移动以改变显 ...

  9. easyui tree复选框是否打钩状态_实战PyQt5: 010-复选框控件QCheckBox

    复选框QCheckBox简介 QCheckBox 复选框,通常用于表示可以启用或禁用应用中的功能. QCheckBox中的常用方法: setText(): 设置复选框的显示文本: setEnabled ...

最新文章

  1. “当前上下文中不存在名称”解决
  2. hive 常见面试题
  3. 志愿怎么填?洞察应届毕业生就业形式,把握未来求职方向 | 易观千帆行业案例
  4. 域名恶意指向的问题解决
  5. openlayers之obj.js提供的功能函数
  6. java mongodb怎删改查_Java连接MongoDB进行增删改查
  7. 中国IP网通IP地址段
  8. 阿铭Linux_传统IDC 部署网站学习笔记20190218
  9. SQL Server DMVs in Action 学习笔记
  10. Jmeter .jmx 改为.jtl
  11. maven创建web项目
  12. DBcontext应用于已存在数据库
  13. 机器学习笔记 - 时间序列使用机器学习进行预测
  14. 【python数据分析实战】城市餐饮店铺选址问题(1)—— 对不同菜系进行比较,并筛选出可开店铺的餐饮类型
  15. 最新最全的免费股票数据接口--沪深A股深度分析机构持股数据API接口(十二)
  16. SSL/TLS单向认证和双向认证介绍
  17. oracle 日常管理小节
  18. 关于VMware 虚拟机出现“找不到可以连接的有效对等进程”
  19. python象棋棋盘麦粒问题_Python求解“棋盘米粒倍增”问题
  20. STM32F429 初试TouchGFX

热门文章

  1. Pytorch入门练习2-kaggle手写字识别神经网络(CNN)实现
  2. 程序员应注意——米勒法则
  3. Tcp的三次握手和四次挥手过程
  4. 【代码大全】——组织直线型代码
  5. html5表格两列合并_详解html中表格table的行列合并问题解决
  6. Android IOS WebRTC 音视频开发总结
  7. jQuery实现后台异步加载数据的省、市二级联动
  8. Ajax的get/post两种请求方式及ajax封装函数
  9. python线性回归预测pm2.5_李洪义——机器学习作业——1-线性回归:预测PM2.5,李宏毅,1LinearRegression,PM25...
  10. C语言随机函数和时间函数