当前位置: 首页 > 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一这…...

Notepad--跨平台文本编辑器:3个简单技巧提升长期使用性能

Notepad--跨平台文本编辑器&#xff1a;3个简单技巧提升长期使用性能 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器&#xff0c;目标是做中国人自己的编辑器&#xff0c;来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- N…...

如何快速使用网络性能测试工具:面向初学者的完整指南

如何快速使用网络性能测试工具&#xff1a;面向初学者的完整指南 【免费下载链接】iperf3-win-builds iperf3 binaries for Windows. Benchmark your network limits. 项目地址: https://gitcode.com/gh_mirrors/ip/iperf3-win-builds 想要准确测量网络带宽、排查网速问…...

3步搞定知识星球爬虫:让付费知识变成你的私人电子书库

3步搞定知识星球爬虫&#xff1a;让付费知识变成你的私人电子书库 【免费下载链接】zsxq-spider 爬取知识星球内容&#xff0c;并制作 PDF 电子书。 项目地址: https://gitcode.com/gh_mirrors/zs/zsxq-spider 你是否在知识星球上订阅了多个优质专栏&#xff0c;却苦于无…...

17. 杠杆平衡条件探究

6. 杠杆平衡条件探究 功能介绍: 通过动态交互演示杠杆的平衡条件 (F1L1=F2L2F_1L_1 = F_2L_2F1​...

UE Viewer终极指南:如何快速浏览和提取虚幻引擎1-4游戏资源

UE Viewer终极指南&#xff1a;如何快速浏览和提取虚幻引擎1-4游戏资源 【免费下载链接】UEViewer Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer). 项目地址: https://gitcode.com/gh_mirrors/ue/UEViewer UE Viewer是一款专为虚幻引擎1-4游戏资源打造…...

RexUniNLU模型多任务学习原理与实战

RexUniNLU模型多任务学习原理与实战 1. 引言 你是否曾经遇到过这样的困扰&#xff1a;在处理自然语言理解任务时&#xff0c;需要为命名实体识别、关系抽取、文本分类等不同任务分别训练和维护多个模型&#xff1f;这不仅增加了开发成本&#xff0c;还让系统变得复杂难维护。…...

如何释放拯救者笔记本潜力?Lenovo Legion Toolkit的5个颠覆性应用

如何释放拯救者笔记本潜力&#xff1f;Lenovo Legion Toolkit的5个颠覆性应用 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit …...

YOLOE镜像从入门到精通:环境激活、代码预测、训练微调全流程

YOLOE镜像从入门到精通&#xff1a;环境激活、代码预测、训练微调全流程 1. 镜像环境准备与快速启动 1.1 环境配置检查 YOLOE官方镜像已经预装了所有必要的依赖项和工具链&#xff0c;确保开发者可以立即开始工作而无需担心环境配置问题。以下是关键环境信息&#xff1a; 项…...

利用卷积神经网络原理优化万象熔炉·丹青幻境的图像生成效果

利用卷积神经网络原理优化万象熔炉丹青幻境的图像生成效果 最近在玩一个叫“万象熔炉丹青幻境”的AI图像生成工具&#xff0c;效果挺惊艳的&#xff0c;但有时候总觉得生成的图片差点意思——要么细节不够清晰&#xff0c;要么风格不是我想要的。这让我想起了以前做计算机视觉…...

Kandinsky-5.0-I2V-Lite-5s社区实践:在CSDN分享你的创意作品与调参心得

Kandinsky-5.0-I2V-Lite-5s社区实践&#xff1a;在CSDN分享你的创意作品与调参心得 1. 为什么要在CSDN分享你的AI创作 最近在星图GPU平台体验了Kandinsky-5.0-I2V-Lite-5s这个强大的图生视频模型&#xff0c;发现它能让静态图片"活"起来&#xff0c;生成各种有趣的…...