当前位置: 首页 > news >正文

python给三维点上色,并添加颜色柱

python的matplotlib库给三维点上色,并添加颜色柱

import numpy as np
from pathlib import Path
import matplotlib.cm as cm
import matplotlib.pyplot as plt# 可视化3d点迹
def Show3D_complete(points3D_result, color_list, save_path):# 指定起止点start_point = points3D_result[0]end_point = points3D_result[-1]# 截取中间点points3D_result_T = points3D_result[1:-1].Tcolor_list = color_list[1:-1]ax = plt.subplot(projection = '3d')ax.set_title('3d_points_show')ax.scatter(start_point[0], start_point[1], start_point[2], s=60, c = 'aqua')                            # 绘制起点ax.scatter(end_point[0], end_point[1], end_point[2], s=60, c = 'red')                                   # 绘制终点sc = ax.scatter(points3D_result_T[0], points3D_result_T[1], points3D_result_T[2], s=30, c=color_list, cmap='Greens')   # 绘制中间曲线 jet YlGn winter PiYG Blues# ax.set_xlim3d(xmin=-20, xmax=10)# ax.set_ylim3d(ymin=-55,    ymax=25)# ax.set_zlim3d(zmin=-10, zmax=5)ax.set_xlabel('X')ax.set_ylabel('Y')ax.set_zlabel('Z')ax.view_init(40, -50, 0)cbar = plt.colorbar(sc, fraction=0.028, pad=0.15)cbar.set_label('Speed', rotation=0, fontsize=8)plt.savefig(str(save_path), dpi=420)plt.show()plt.close()def get_color(rate):if isinstance(rate, np.ndarray):colormap = cm.get_cmap('jet')color = colormap(rate)[:, 0:3]else:color = cm.get_cmap('jet')(rate)return colorif __name__ == '__main__':root_path = Path("data/20240525")for dir in root_path.iterdir():print(f"dir: {dir}")if dir.is_file():continuefor trajectory_txt in dir.glob('*.txt'):filter_txt_list = trajectory_txt.open('r').readlines()time_list = []speed_list = []point_list = []for idx, log in enumerate(filter_txt_list):data_fields = log.split(',')if len(data_fields) <= 2:print(f"data_fields <= 2: {data_fields}")continuex, y, z = float(data_fields[1]), float(data_fields[2]), float(data_fields[3])speed_list.append(float(data_fields[4]))point_list.append([x, y, z])print(f"len(point_list): {len(point_list)}")color_rate = np.array(speed_list) / (max(speed_list) - min(speed_list))Show3D_complete(np.array(point_list), color_rate)break

相关文章:

python给三维点上色,并添加颜色柱

python的matplotlib库给三维点上色&#xff0c;并添加颜色柱 import numpy as np from pathlib import Path import matplotlib.cm as cm import matplotlib.pyplot as plt# 可视化3d点迹 def Show3D_complete(points3D_result, color_list, save_path):# 指定起止点start_poin…...

Ubuntu22.04之解决:忘记登录密码(二百三十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

stream-并行流

定义 常规的流都是串行的流并行流就是并发的处理数据&#xff0c;一般要求被处理的数据互相不影响优点&#xff1a;数据多的时候速度更快&#xff0c;缺点&#xff1a;浪费系统资源&#xff0c;数据少的时候开启线程更耗费时间 模版 Stream<Integer> stream1 Stream.of…...

插件“猫抓”使用方法 - 浏览器下载m3u8视频 - 合并 - 视频检测下载 - 网课下载神器

前言 浏览器下载m3u8视频 - 合并 - 网课下载神器 chrome插件-猫抓 https://chrome.zzzmh.cn/info/jfedfbgedapdagkghmgibemcoggfppbb 步骤&#xff1a; P.s. 推荐大佬的学习视频&#xff01; 《WEB前端大师课》超级棒&#xff01; https://ke.qq.com/course/5892689#term_id…...

【quarkus系列】构建可执行文件native image

目录 序言为什么选择 Quarkus Native Image&#xff1f;性能优势便捷的云原生部署 搭建项目构建可执行文件方式一&#xff1a;配置GraalVM方式二&#xff1a;容器运行错误示例构建过程分析 创建docker镜像基于可执行文件命令式构建基于dockerfile构建方式一&#xff1a;构建mic…...

linux(ubuntu)常用的代理设置

1. git代理设置与取消 # 设置 git config --global http.proxy socks5://127.0.0.1:1234 git config --global https.proxy socks5://127.0.0.1:1234 # 取消 git config --global --unset http.proxy git config --global --unset https.proxy2. conda代理设置与取消 在.cond…...

红队攻防渗透技术实战流程:红队目标上线之Webshell免杀对抗

红队攻防免杀实战 1. 红队目标上线-Webshell免杀-基础准备2. 红队目标上线-Webshell免杀-基础内容3.红队目标上线-Webshell免杀-建立认知3.红队目标上线-Webshell免杀-测试实验3.1 查杀对象-Webshell&C2后门&工具&钓鱼3.2 免杀对象-Webshell&表面代码&行为…...

Habicht定理中有关子结式命题3.4.6的证明

个人认为红色区域有问题&#xff0c;因为 deg ⁡ ( ϕ ( S j ) ) r \deg{\left( \phi\left( S_{j} \right) \right) r} deg(ϕ(Sj​))r&#xff0c;当 i ≥ r i \geq r i≥r时&#xff0c; s u b r e s i ( ϕ ( S j 1 ) , ϕ ( S j ) ) subres_{i}\left( \phi(S_{j 1}),\p…...

【Unity AR开发插件】如何快速地开发可热更的AR应用

预告 本专栏将介绍如何使用这个支持热更的AR开发插件&#xff0c;快速地开发AR应用。 Unity AR开发插件使用教程 更新 二、使用插件一键安装HybridCLR和ARCore 三、配置带HybridCLR的ARCore开发环境 四、制作热更数据-AR图片识别场景...

Divisibility Part1(整除理论1)

Divisibility Part1 学习本节的基础&#xff1a;任意个整数之间进行加、减、乘的混合运算之后的结果仍然是整数。之后将不申明地承认这句话的正确性并加以运用。 用一个不为 0 0 0的数去除另一个数所得的商却不一定是整数&#xff08; a a a除 b b b&#xff0c;写作 b a \frac…...

代码随想录算法训练营第三十七天 | 860.柠檬水找零、406.根据身高重建队列、452.用最少数量的箭引爆气球

目录 860.柠檬水找零 思路 代码 406.根据身高重建队列 思路 代码 452. 用最少数量的箭引爆气球 思路 代码 860.柠檬水找零 本题看上好像挺难&#xff0c;其实挺简单的&#xff0c;大家先尝试自己做一做。 代码随想录 思路 这题还有什么难不难的&#xff0c;这道题不是非…...

GolangFoundation

GolangFoundation 一. Hello World1.1 SDK1.2 环境1.3 hello world1.4 语法规则二. 程序结构2.1 循环2.2 概述2.3 完整写法2.4 类似while2.5 死循环2.6 特殊循环三. 变量3.1 命名3.2 声明2.3 变量...

如果任务过多,队列积压怎么处理?

如果任务过多,队列积压怎么处理? 1、内存队列满了应该怎么办2、问题要治本——发短信导致吞吐量降低的问题不能忽略!!3、多路复用IO模型的核心组件简介1、内存队列满了应该怎么办 如图: 大家可以看到,虽然现在发短信和广告投递,彼此之间的执行效率不受彼此影响,但是请…...

FTP协议——BFTPD基本操作(Ubuntu+Win)

1、描述 本机&#xff08;Win10&#xff09;与虚拟机&#xff08;Ubuntu22.04.4&#xff09;上的BFTPD服务器建立FTP连接&#xff0c;执行一些基本操作。BFTPD安装教程&#xff1a;FTP协议——BFTPD安装&#xff08;Linux&#xff09;-CSDN博客 2、 步骤 启动BFTPD。启动文件…...

为什么需要分布式 ID?

目录 为什么需要分布式 ID 分布式 ID 的生成方法 分布式 ID 的应用场景 小结 在现代软件架构中&#xff0c;分布式系统架构变得越来越流行。在这些系统中&#xff0c;由于组件分散在不同的服务器、数据中心甚至不同的地理位置&#xff0c;因此要构建高性能、可扩展的应用系…...

MIT6.828 Lab2-3 Sysinfo

目录 一、实验内容二、实验过程2.1 已有的代码2.2 需补充内容/kernel/kalloc.c修改&#xff08;剩余内存计算的函数&#xff09;/kernel/proc.c修改&#xff08;统计进程数量的函数&#xff09;/kernel/defs.h修改添加/kernel/sysinfo.c文件/kernel/syscall.h修改/kernel/sysca…...

形态学操作:腐蚀、膨胀、开闭运算、顶帽底帽变换、形态学梯度区别与联系

一、总述相关概念 二、相关问题 1.形态学操作中的腐蚀和膨胀对图像有哪些影响&#xff1f; 形态学操作中的腐蚀和膨胀是两种常见的图像处理技术&#xff0c;它们通过对图像进行局部区域的像素值替换来实现对图像形状的修改。 腐蚀操作通常用于去除图像中的噪声和细小的细节&a…...

StringBufferInputStream类,你学会了吗?

在Java编程中,处理字符串数据流是一项常见的任务。 为了更灵活地处理字符串数据流,Java提供了StringBufferInputStream类,它允许将字符串转换为输入流,从而可以像处理其他输入流一样对字符串进行操作。 本文将深入探讨StringBufferInputStream类的背景、用法、优缺点以及…...

06_Tomcat

文章目录 Tomcat1.概念2.Tomcat安装3.Tomcat项目结构4.标准web项目结构5.Tomcat部署项目方式6.IDEA关联Tomcat6.1 构建tomcat和idea关联6.2 使用idea创建一个Javaweb工程6.3 使用idea将工程**构建**成一个app6.4 使用idea将构建好的app**部署**到tomcat中 Tomcat 1.概念 Tomc…...

系统安全扫描扫出了:可能存在 CSRF 攻击怎么办

公司的H5在软件安全测试中被检查出可能存在 CSRF 攻击&#xff0c;网上找了一堆解决方法&#xff0c;最后用这种方式解决了。 1、问题描述 CSRF 是 Cross Site Request Forgery的缩写(也缩写为也就是在用户会话下对某个 CGI 做一些 GET/POST 的事&#xff0c;RIVTSTCNNARGO一这…...

【2026年阿里巴巴集团暑期实习- 5月23日-算法岗-第二题- 多约束条件下的元素匹配统计】(题目+思路+JavaC++Python解析+在线测试)

题目内容 给定三个长度为 nnn 的数组 { a1,a2,…,an}\{a_1, a_2, \dots, a_n\}{ a...

麒麟V10 SP2服务器mate-indicators内存泄漏?别慌,手把手教你打补丁和降级auditd

麒麟V10服务器内存泄漏实战&#xff1a;从紧急排查到auditd补丁修复全记录凌晨2:17&#xff0c;监控平台的告警铃声划破了运维中心的宁静。大屏上刺眼的红色数字显示——生产环境中的麒麟V10 SP2服务器内存使用率已突破95%临界值&#xff0c;且仍在持续攀升。作为当晚的值班工程…...

【2024最严合规落地清单】:金融/医疗/政务三大强监管行业AI Agent设计红线与审计通关模板

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent设计行业应用 AI Agent正从实验室原型快速演进为可部署、可编排、可审计的企业级智能体系统&#xff0c;其核心价值在于将大语言模型能力封装为具备目标导向、工具调用、记忆管理与自主决策能力…...

去偏机器学习在交通行为因果推断中的应用:从关联分析到因果效应评估

1. 项目概述&#xff1a;当交通研究遇上因果推断在交通工程与城市规划领域&#xff0c;我们常常面临一个核心挑战&#xff1a;如何从海量的观测数据中&#xff0c;剥离出某个特定因素&#xff08;比如一项新政策、一种交通管控措施&#xff09;对人们行为的“真实”影响&#x…...

为什么有些论文,答辩老师越听越不敢卡?

很多学生都经历过一种很明显的反差。有些同学一进答辩室&#xff0c; 老师状态特别紧。问题一个接一个&#xff1b; 追问不断&#xff1b; 语气越来越严肃。但还有一种情况。有些同学刚讲几分钟&#xff0c; 现场气氛就明显变了。老师开始点头&#xff1b; 追问越来越少&#x…...

Zookeeper集群启动失败?从myid配置到防火墙,保姆级排错指南来了

Zookeeper集群启动失败&#xff1f;从myid配置到防火墙&#xff0c;保姆级排错指南来了当你满怀期待地执行bin/zkServer.sh start命令&#xff0c;却只看到一堆晦涩的错误日志时&#xff0c;那种挫败感我太熟悉了。Zookeeper作为分布式系统的"神经中枢"&#xff0c;其…...

SSH安全加固:禁用弱加密算法的实操指南

1. 为什么禁用弱加密算法不是“可选项”&#xff0c;而是SSH上线前的必过门槛我第一次在客户现场接手一台刚部署的CentOS 7跳板机时&#xff0c;安全扫描报告里赫然标红了三条&#xff1a;ssh-rsa签名算法被标记为CRITICAL&#xff0c;diffie-hellman-group1-sha1密钥交换被判定…...

AI 安全生产管理平台:用数字技术筑牢企业安全防线

传统企业安全生产长期依赖“人工巡检、事后整改”的模式&#xff0c;人工排查存在疲劳漏检、响应滞后、标准不一等痛点&#xff0c;很难全天候守住生产安全底线。而 AI 安全生产管理平台依托人工智能、物联网、边缘计算、大数据等核心技术&#xff0c;彻底打破传统“人防”局限…...

DeepSeek技术搜索RAG Pipeline重构实录:从模糊匹配到精准意图识别的6次AB测试数据全公开

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek技术搜索RAG Pipeline重构实录&#xff1a;从模糊匹配到精准意图识别的6次AB测试数据全公开 在DeepSeek内部技术文档搜索系统升级中&#xff0c;我们对原有RAG Pipeline进行了深度重构&#xff0c;核心…...

新业务新项目的缺陷密度解析

对于新业务、新项目&#xff0c;业界并没有一个放之四海而皆准的“标准答案”。但通过参考行业研究数据&#xff0c;从四个渐进的项目阶段来设定基准&#xff0c;是更务实的做法。&#x1f4c8; 测量差异与高层级数据使用KLOC&#xff08;千行代码&#xff09;和功能点这两种度…...