python:pyqtgraph log对数坐标系禁止显示科学计数

部署运行你感兴趣的模型镜像

交流学习,如有错误欢迎指正。by: wwdeng QQ:435398366


1. pyqtgraph 如果setLogMode为true 显示的是科学计数

有的时候我们并不想显示科学计数,不直观。
如果数值不是特别大,还是直接显示数值比较直观。
在这里插入图片描述

2. pyqtgraph中AxisItem.py 生成log坐标字符串处理方法

在这里插入图片描述

3. 通过重写AxisItem类中的logTickStrings方法来修改坐标轴显示的数值

在这里插入图片描述

4. TestCode

import numpy as np
import pyqtgraph as pg


class LogStringAxis(pg.AxisItem):
    def logTickStrings(self, values, scale, spacing):
        estrings = ["%0.1f" % x for x in 10**np.array(values).astype(float)]
        return estrings


win = pg.GraphicsWindow()
logStringAxis = LogStringAxis(orientation='bottom')
plot = win.addPlot(axisItems={'bottom': logStringAxis})
plot.setLogMode(True, False)
x1 = np.linspace(0, 20000, 500)
y1 = np.linspace(0, 1, 500)
curve = plot.plot(x1, y1)

if __name__ == '__main__':
    import sys
    if sys.flags.interactive != 1 or not hasattr(QtCore, 'PYQT_VERSION'):
        pg.QtGui.QApplication.exec_()

5. 参考文档

  1. 关于python:在matplotlib.pyplot中防止科学计数法
  2. Show string values on x-axis in pyqtgraph

交流学习,如有错误欢迎指正。by: wwdeng QQ:435398366


您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

以下是使用常见GIS软件(以ArcGIS为例)不借助Python计算分形维数的方法: #### 数据准备 需要准备好用于分析的地理要素数据,如湖泊、河流等的矢量数据。 #### 计算周长和面积 在ArcGIS中,可以通过以下操作计算要素的周长和面积: 1. 打开ArcToolbox,找到“数据管理工具” -> “要素” -> “添加字段”,分别添加用于存储周长和面积的字段,例如命名为“Perimeter”和“Area”。 2. 再次打开ArcToolbox,找到“数据管理工具” -> “要素” -> “计算几何”。 3. 对于“Perimeter”字段,选择“长度”作为属性,根据数据的坐标系选择合适的单位;对于“Area”字段,选择“面积”作为属性,同样选择合适的单位。 #### 周长 - 面积法计算分形维数 周长 - 面积法基于公式 $P \propto A^{D/2}$ ($P$ 为周长,$A$ 为面积,$D$ 为分形维数),两边取对数可得 $\log(P) = \frac{D}{2}\log(A) + C$ ,通过线性回归可计算出分形维数 $D$ 。 1. 在Excel中打开ArcGIS导出的属性表,分别对周长和面积数据取对数。 2. 使用Excel的绘图功能绘制 $\log(P)$ 与 $\log(A)$ 的散点图。 3. 添加趋势线,在趋势线选项中选择“显示公式”和“显示R平方值”。 4. 根据趋势线的斜率 $k$ ,分形维数 $D = 2k$ 。 ### 盒计数法(在ArcGIS中近似实现) 1. **创建网格**:使用ArcGIS的“创建渔网”工具,创建不同大小的网格。 2. **空间连接**:将研究要素与创建的网格进行空间连接,统计每个网格内包含的要素数量。 3. **统计非空网格数量**:对空间连接后的结果进行汇总统计,得到不同网格大小下的非空网格数量。 4. **计算分形维数**:将网格大小和非空网格数量导入Excel,分别取对数后绘制散点图,添加趋势线,根据趋势线斜率计算分形维数。 ```plaintext # 这里虽无代码但呈现一种操作流程示意 # 1. 创建不同大小的渔网 # 渔网工具路径:ArcToolbox -> 数据管理工具 -> 要素类 -> 创建渔网 # 不同大小通过修改渔网的单元格大小参数实现 # 2. 空间连接 # 空间连接工具路径:ArcToolbox -> 分析工具 -> 叠加分析 -> 空间连接 # 目标要素为研究要素,连接要素为渔网 # 3. 汇总统计 # 汇总统计工具路径:ArcToolbox -> 分析工具 -> 统计 -> 汇总统计 # 按网格ID统计包含要素的数量 # 4. 数据处理与分形维数计算 # 将结果导出到Excel,进行对数变换、绘图、线性回归等操作 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值