显示数量以及坐标区间

import re
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties# 动态加载字体文件
font_path = '/usr/local/sunlogin/res/font/wqy-zenhei.ttc'  # 替换为实际字体路径
my_font = FontProperties(fname=font_path)# 定义日志文件路径
log_file_path = 'number.txt'
output_file_path = 'backward_point_cloud_stats.txt'# 正则表达式匹配点云数量和类型
pattern = re.compile(r'\[(\d+) 3 \d+\]')# 存储后向点云数量的列表
backward_point_cloud_counts = []# 读取日志文件
with open(log_file_path, 'r') as file:for line in file:matches = pattern.findall(line)if matches:backward_point_cloud_counts.extend([int(count) for count in matches])# 检查数据提取
if backward_point_cloud_counts:print(f"成功提取到 {len(backward_point_cloud_counts)} 个后向点云数量。")
else:print("没有找到后向点云的相关数据。")# 统计计算
max_value = np.max(backward_point_cloud_counts)
min_value = np.min(backward_point_cloud_counts)
mean_value = np.mean(backward_point_cloud_counts)
variance_value = np.var(backward_point_cloud_counts)
lower_percentile = np.percentile(backward_point_cloud_counts, 50)
upper_percentile = np.percentile(backward_point_cloud_counts, 95)# 打印统计结果
print(f"最大值: {max_value}")
print(f"最小值: {min_value}")
print(f"平均值: {mean_value}")
print(f"方差: {variance_value}")
print(f"90%的数据位于区间 [{lower_percentile}, {upper_percentile}] 之间")# 保存结果
with open(output_file_path, 'w') as output_file:output_file.write("后向点云数量统计结果:\n")output_file.write(f"最大值: {max_value}\n")output_file.write(f"最小值: {min_value}\n")output_file.write(f"平均值: {mean_value}\n")output_file.write(f"方差: {variance_value}\n")output_file.write(f"90%的数据位于区间 [{lower_percentile}, {upper_percentile}] 之间\n")# 可视化
# 生成以 1000 为间隔的 bins
bin_edges = np.arange(0, max_value + 1000, 1000)
counts, bins, patches = plt.hist(backward_point_cloud_counts, bins=bin_edges, edgecolor='black')# 过滤掉频次为0的区间
non_zero_bins = bins[:-1][counts > 0]
non_zero_counts = counts[counts > 0]# 绘制非零频次柱状图
plt.clf()  # 清除之前的图
plt.bar(non_zero_bins + 500, non_zero_counts, width=1000, edgecolor='black')# 添加频次标签
for count, bin_edge in zip(non_zero_counts, non_zero_bins):plt.text(bin_edge + 500, count, f'{int(count)}', ha='center', va='bottom', fontproperties=my_font)# 设置标题和标签
plt.title('后向点云数量分布', fontproperties=my_font)
plt.xlabel('点云数量', fontproperties=my_font)
plt.ylabel('频率', fontproperties=my_font)
plt.grid(True)# 设置横轴刻度,只显示非零频次的区间
plt.xticks(non_zero_bins + 500, [f'{int(bin_edge)}' for bin_edge in non_zero_bins], fontproperties=my_font)plt.show()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148809.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

软件需求规格说明书编制模板参考(Doc原件)

1 范围 1.1 系统概述 1.2 文档概述 1.3 术语及缩略语 2 引用文档 3 需求 3.1 要求的状态和方式 3.2 系统能力需求 3.3 系统外部接口需求 3.3.1 管理接口 3.3.2 业务接口 3.4 系统内部接口需求 3.5 系统内部数据需求 3.6 适应性需求 3.7 安全性需求 3.8 保密性需…

个人量化成功之路-----从 Yahoo! Finance 下载交易策略数据

雅虎财经 是投资者最受欢迎的网站之一。它提供有关股票、债券、货币和加密货币的各种市场数据。它还提供市场新闻、报告和分析、期权和基本数据 官方的雅虎财经 API 于 2017 年被下架 Yfinance 是由 Ran Aroussi 开发的开源 Python 库,用于访问雅虎财经上可用的财…

mysql 报 ERROR 1273: Unknown collation: ‘utf8mb4_0900_ai_ci‘ 的处理

1、数据库sql是mysql8的导出的,本机上安装的还是5.7的版本,然后导入sql,直接就报错。 2、mysql的下载地址: MySQL :: Download MySQL Community Server 3、报错截图: 4、重新选择一个collation就可以了,…

气膜建筑的维护与维修:延长使用寿命的关键—轻空间

气膜建筑以其快速搭建、低成本和灵活的空间设计,被广泛应用于体育馆、仓储设施等多个领域。然而,随着时间的推移,气膜建筑的结构和材料在使用过程中不可避免地受到环境和使用条件的影响,因此定期维护和必要的维修显得尤为重要。了…

每日1题-2

2207 字符串中最多数目的子序列 本题要找pattern在text出现的次数 然后在插入pattern中的一个字符 得到更多的出现次数 很容易想到先求出不插入字符前 子序列出现的次数 我们可以用遍历的方式 让pattern[0]为x pattern[1]为y 遍历text遇到x让x数目加1 遇到y让y数目加1 总数ans…

CSRF中级防御绕过

1)回顾low级别做过csrf页面的密码重置,重复之前的操作,我们发现级别调整中级之后,报错如下 2)查看源码 $_SERVER[‘HTTP_REFERER’]:上一次的请求的url$_SERVER[‘SERVER_NAME’]:当前的服务器的host代码&…

文献笔记 - Reinforcement Learning for UAV Attitude Control

这篇博文是自己看文章顺手做的笔记 只是简单翻译和整理 仅做个人参考学习和分享 如果作者看到觉得内容不妥请联系我 我会及时处理 本人非文章作者,文献的引用格式如下,原文更有价值 Koch W, Mancuso R, West R, et al. Reinforcement learning for UA…

电子信息制造业数据安全如何防护?有什么加密方案?

电子信息制造业数据加密解决方案 问题 1.电子文档(源代码、设计图纸、设计方案等)均要做数据保护措施,防止内部人员有意或无意造成数据泄露; 2.与外部企业之间往来的外发文件,管控不当,容易造成泄密&…

【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析

文章目录 C string 类详解:从入门到精通前言第一章:C 语言中的字符串 vs C string 类1.1 C 语言中的字符串1.2 C string 类的优势 第二章:string 类的构造与基础操作2.1 string 类的构造方法2.1.1 示例代码:构造字符串 2.2 string…

【unity进阶知识1】最详细的单例模式的设计和应用,继承和不继承MonoBehaviour的单例模式,及泛型单例基类的编写

文章目录 前言一、不使用单例二、普通单例模式1、单例模式介绍实现步骤:单例模式分为饿汉式和懒汉式两种。 2、不继承MonoBehaviour的单例模式2.1、基本实现2.2、防止外部实例化对象2.3、最终代码 3、继承MonoBehaviour的单例模式3.1、基本实现3.2、自动创建和挂载单…

CCRC-DSA数据安全评估师 :什么是产品安全架构?

产品安全架构是构筑其自身安全特征的核心组件和它们之间的相互关系。 对任何具体产品而言,安全性作为产品质量的一部分,并非独立存在,而是与性能、可扩展性、可维护性等其他质量属性并行,并可通过逻辑模块来表述。 本文将围绕安…

x-cmd pkg | hurl - 强力的 HTTP 请求测试工具,让 API 测试更加简洁和高效

目录 简介快速上手安装 hurl发送 HTTP 请求Hurl 文件格式 功能特点竞品和相关项目进一步探索 简介 hurl 是 [github.com/Orange-OpenSource] 用 Rust 开发的 HTTP 请求处理和测试工具,专注于简化 HTTP 请求的创建、执行以及自动化测试流程,能以简单的纯…

TypeScript:模块

一、前言 关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与 ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现…

【C++】8.类和对象(6)

文章目录 5. 内部类6. 匿名对象7. 对象拷贝时的编译器优化 5. 内部类 如果一个类定义在另一个类的内部,这个内部类就叫做内部类。内部类是一个独立的类,跟定义在全局相比,他只是受外部类类域限制和访问限定符限制,所以外部类定义的…

QT菜单之快捷菜单设计

快捷菜单又称为上下文菜单,通常在用鼠标右击的时候弹出。创建快捷菜单的方法和创建菜单栏菜单类似。 效果图: 一、将MainWindow类对象的ContextMenuPolicy属性设置为customContextMenu。 打开mainWindow.ui,在属性视图上找到ContextMenuPoli…

What is the OpenAI Chat Completion API tools/functions property format?

题意:OpenAI 聊天完成 API 的工具/函数属性格式是什么 问题背景: Is there any clear documentation on the format of OpenAIs Chat Completion API tools/functions object format? I understand its JSON, but there appear to be underlying requi…

《线性代数》学渣笔记

文章目录 1 行列式1.1 克拉默法则1.2 基本性质1.3 余子式 M i j M_{ij} Mij​1.4 代数余子式 A i j ( − 1 ) i j ⋅ M i j A_{ij} (-1)^{ij} \cdot M_{ij} Aij​(−1)ij⋅Mij​1.5 具体型行列式计算(化为基本型)1.5.1 主对角线行列式:主…

数据结构实验二之线性表(下)

实验题5:实现循环双链表的各种基本运算的算法 题目描述 编写一个程序cdlinklist.cpp,实现循环双链表的各种基本运算和整体建表算法 (假设循环双链表的元素类型ElemType为int),并在此基础上设计一个程序exp2-5.cpp 完成以下功能。 (1)初始化循环双链表h。 (2)依次采用尾插法插入…

免费的 H5/PC 地图打卡 —— 功能代码及实现指南/功能代码已上传

在本文中,我们将通过天地图(Tianditu)实现一个简单的 H5/PC 版地图打卡功能。通过实时获取用户的位置,检测其与打卡点的距离,来决定是否可以完成打卡。代码已上传,本文将逐步介绍如何实现这一功能。 效果图…

EDI简化,两剂初免效果好

EDI简化,两剂初免效果好 大家好,疫苗是防控传染病的重要工具。但对于一些如HIV等病原体,有效疫苗的研发仍面临诸多挑战。在疫苗接种中,生发中心起着关键作用。近期研究表明——《Two-dose priming immunization amplifies humoral…