python绘制3D瀑布图
成品:

代码:
def line_3d(x, y, z, x_label_indexs):"""在y轴的每个点,向x轴的方向延伸出一个折线面:展示每个变量的时序变化。x: x轴,时间维,右边。y: y轴,变量维,左边。z: z轴,数值维。二维矩阵,y列x行。每一行是对应变量的一个时间序列。x_label_indexs: 需要标注的时间点。"""x_num = len(x)y_num = len(y)if z.shape[0] != y_num or z.shape[1] != x_num:return -1# 制作坐标格点(z中每个点对应的x、y坐标)X, Y = np.meshgrid(x, y)# 初始化canvas = plt.figure() # 创建画布axs = canvas.add_subplot(111, projection='3d') # 添加三维子图# 若把111改成234,则意思是:创建一个2*3的网格,并在第4个格子中创建一个axes# 绘制折线面for i in range(y_num): # 遍历# z值线,即实际数据。axs.plot(Y[i], X[i], z[i], color=plt.cm.viridis(i/y_num),linestyle='-', linewidth=1, marker='o', markersize=3, alpha=0.3)# 0值线(z=0),与“地面”连接。axs.plot(Y[i], X[i], np.zeros_like(z[i]), color='gray', alpha=0.5)# 绘制有颜色的平面:本质是填充z值与0值之间的区域。polygon = [[Y[i, 0], X[i, 0], 0], # 左下[Y[i, -1], X[i, -1], 0], # 右下]for j in range(x_num-1, -1, -1): # 依次添加点,使得polygon成为一个完整的闭合多边形polygon.append([Y[i, j], X[i, j], z[i, j]])axs.add_collection3d(Poly3DCollection([polygon], color=plt.cm.viridis(i/y_num), alpha=0.3))# 标注数字(z值)for k in x_label_indexs:axs.text(Y[i, k]-0.05, X[i, k], z[i, k]+0.02, f'{z[i, k]:.2f}',color='black', ha='center', size=7)# 用虚线将需要标注的时间(y)连起来for k in x_label_indexs:axs.plot(Y[:, k], X[:, k], z[:, k], linestyle='--', linewidth=0.8, color='gray')axs.grid()plt.show()if __name__ == '__main__':x = np.arange(5)time = np.arange(1, 15, 2)z = np.array([[0.20, 0.34, 0.38, 0.43, 0.44, 0.50, 0.61],[0.21, 0.40, 0.38, 0.43, 0.60, 0.72, 0.75],[0.22, 0.43, 0.44, 0.60, 0.77, 0.84, 0.92],[0.23, 0.42, 0.44, 0.43, 0.64, 0.77, 0.86],[0.38, 0.42, 0.43, 0.49, 0.55, 0.60, 0.81]])line_3d(time, x, z, [1, 4, 6])
相关文章:
python绘制3D瀑布图
成品: 代码: def line_3d(x, y, z, x_label_indexs):"""在y轴的每个点,向x轴的方向延伸出一个折线面:展示每个变量的时序变化。x: x轴,时间维,右边。y: y轴,变量维,…...
ArcGIS中怎么合并多个点图层并删除重复点?
最近,我接到了一个怎么合并多个点图层并删除其中的重复点的咨询。 下面是我对这个问题的解决思路: 1、合并图层 在地理处理工具里面 选择合并 并设置好要合并的图层即可 2、接下来在 数据管理工具→常规→删除相同项 即可 希望这些建议能对大家有所帮…...
【vue、UI】使用 Vue2 和 Element UI 封装 CSV 文件上传组件,实现csv回显
文章目录 前言组件功能概述实现效果组件模板结构组件的核心逻辑1.数据属性定义2.方法拆解3.CSV 文件解析方法4. 错误处理方法 组件样式完整组件代码总结待优化的地方 前言 在 Vue2 项目中,我们经常需要封装一些可重用的组件来提升开发效率。本文将介绍如何使用 Vue…...
erlang学习: Mnesia Erlang数据库2
Mnesia数据库增加与查询学习 -module(test_mnesia).-record(shop, {item, quantity, cost}). -record(cost, {name, price}). -record(design, {info, plan}). %% API -export([insert/3,select/1,start/0]). start() ->mnesia:start().insert(Name, Quantity, Cost) ->…...
电脑文件怎么备份?推荐6个高效便捷的文件备份的方法
在日常使用电脑的过程中,数据备份是一项至关重要的任务。无论是个人用户还是企业用户,都需要确保重要文件的安全性和可恢复性。 以下是推荐的六个高效便捷的文件备份方法,帮助你轻松守住你的文档安全。 1. 使用USB存储设备 USB存储设备如U盘…...
Procdump抓ToDesk密码
目录 前言 1.工具教程 2.转储数据 3.密码获取 4.总结 前言 本文是因为在公众号上看到一篇文章随想着实战中利用ToDesk秀操作失败后,实验环境成功复现后写下。ProcDump[1] 是一个命令行实用工具,其主要用途是监视应用程序的 CPU 峰值,并在…...
ESP8266下载固件→连接阿里云
一、工具准备 1、ESP8266Wifi模块 2、ESP8266下载器 ESP8266-01模块 二、固件配置 CH340串口工具-烧录ESP8266-01固件_esp8266 ch340烧录-CSDN博客文章浏览阅读444次,点赞6次,收藏3次。CH340会有供电不足的问题,因此需要外部供电_esp…...
20240911软考架构-------软考156-160答案解析
每日打卡题156-160答案 156、NoSQL整体框架分为4层,由下至上分为数据持久层、数据分布层、数据逻辑模型层和(1)。(2)定义了数据的存储形式。(3)定义了数据是如何分布的。(4…...
工厂模式与策略模式(golang示例)
一、工厂模式简介 工厂模式是一种创建型设计模式,主要用于封装对象的创建过程。通过使用工厂模式,客户端代码无需直接实例化对象,而是通过工厂类来创建对象。这样可以将对象的创建与使用分离,从而提高代码的灵活性。 1.1 工厂模…...
批量视频如何做成一个二维码(分步骤教程)
原创教程,阿酷TONY,2024.9.11,湖南长沙 批量视频如何做成一个二维码(分步骤教程),场景应用: 1. 一批视频需要按组分类,生成一个二维码,实现扫一个二维码,观看…...
OpengGL教程(三)---使用VAO和VBO方式绘制三角形
本章参考官方教程:learnopengl-cn VertexShader.glsl #version 330 core layout(location 0) in vec3 position; layout(location 1) in vec3 color; uniform mat4 projection; // 投影矩阵 out vec4 ourColor; void main() {gl_Position projection * vec4(p…...
【单片机开发】单片机常用开发工具
【前言】 在嵌入式系统领域,单片机(Microcontroller, MCU)作为核心组件,广泛应用于智能家居、工业控制、汽车电子等众多领域。而单片机开发工具,则是开发者们实现创意、解决问题的重要助手。本文主要讲述目前主流的单…...
一、计算机网络的体系结构
1.1 计算机网络的组成 1)从组成部分上分为:硬件、软件、协议。硬件是指主机、通信链路、交换设备和通信处理机组曾。软件包括各种实现资源共享的软件以及各种软件工具(如网络操作系统、邮件收发程序、FTP程序、聊天软件)。 2&…...
C语言补习课——文件篇
来源:黑马程序员 第157讲 C语言操作文件概述 读取文件:输入流 写文件:输出流 读写的方向判断取决与参照,一般我们站在程序的角度判断读写方向。 第158讲 路径 基本概念 路径就是指文件在电脑中的位置,eg…...
【可测试性实践】C++ 单元测试代码覆盖率统计入门
引言 最近在调研C工程怎么做单元测试和代码覆盖率统计,由于我们工程有使用Boost库,尝试使用Boost.Test来实现单元测试并通过Gcov和Lcov来生成代码覆盖率报告。本文记录完整的搭建测试Demo,希望能带来一定参考。 常用C单测框架对比 特性Goo…...
C++笔记---list
1. list的介绍 list其实就是就是我们所熟知的链表(双向循环带头结点),但其是作为STL中的一个类模板而存在。 也就是说,list是可以用来存储任意类型数据的顺序表,既可以是内置类型,也可以是自定义类型&…...
JavaWeb开发中为什么Controller里面的方法是@RequestMapping?
在Java Web开发中,尤其是在使用Spring MVC框架时,RequestMapping注解被广泛应用于Controller层的方法上,这是因为RequestMapping是Spring MVC提供的一个核心注解,用于将HTTP请求映射到相应的处理器类或处理器方法上。通过这种方式…...
若依移动版使用微信小程序打开失败
现象 解决办法:删掉自带的appid...
精准控图工具 Concept Sliders:超好用的 控制 Lora 适配器
Concept Sliders 你有没有遇到这样的情况?你花费大量时间制作提示和寻找种子,以使用文本到图像模型生成所需的图像。但是,你还需要对生成图像中的属性强度(如眼睛大小或照明)进行更细致、更精细的控制。修改提示会破坏…...
【EI会议征稿通知】第四届材料工程与应用力学国际学术会议(ICMEAAE 2025)
第四届材料工程与应用力学国际学术会议(ICMEAAE 2025) 2025 4th International Conference on Materials Engineering and Applied Mechanics 本次会议将重点讨论材料科学、应用力学等领域的最新研究进展与发展趋势。会议旨在为国内外从事这些领域研究…...
深入Fast DDS传输层:从UDP、TCP到共享内存,如何为你的ROS2应用选择最佳通信方式?
Fast DDS传输层深度解析:UDP、TCP与共享内存的工程实践指南 在分布式系统架构中,通信中间件的性能直接影响整个系统的响应速度和可靠性。作为ROS 2的默认通信中间件,Fast DDS提供了多种传输协议选择,但如何根据实际场景做出最优决…...
出国旅行手机没信号?Nrfr免Root工具一键解锁全球网络
出国旅行手机没信号?Nrfr免Root工具一键解锁全球网络 【免费下载链接】Nrfr 🌍 免 Root 的 SIM 卡国家码修改工具 | 解决国际漫游时的兼容性问题,帮助使用海外 SIM 卡获得更好的本地化体验,解锁运营商限制,突破区域限制…...
别再死记硬背TTS原理了!用Python+TensorFlow复现一个简易Deep Voice,从音素到语音全流程拆解
用PythonTensorFlow实战Deep Voice:从音素到语音的完整实现指南 当你第一次听到计算机生成的语音时,是否好奇过这背后的魔法是如何实现的?现代文本转语音(TTS)系统已经能够产生几乎与真人无异的语音,而Deep Voice作为早期端到端TT…...
在AutoDL上搞定nuScenes数据集:从解压到mmdetection3d初始化(含避坑指南)
在AutoDL云端高效部署nuScenes数据集:全流程解析与实战避坑指南 nuScenes作为自动驾驶领域最具挑战性的3D感知数据集之一,包含1000个复杂城市场景的多模态数据。但对于刚接触云端GPU服务器的研究者来说,从数据解压到环境配置的每一步都可能遇…...
告别Zabbix!轻量级监控神器Netdata在Ubuntu 22.04上的花式玩法
告别Zabbix!轻量级监控神器Netdata在Ubuntu 22.04上的花式玩法 1. 为什么Netdata正在重新定义监控体验 凌晨三点,服务器告警短信惊醒睡梦中的你。手忙脚乱连上VPN,却发现只是Zabbix又一个误报——这样的场景是否似曾相识?传统监控…...
技术竞赛之道:从创新构想到落地执行的实战心法
技术竞赛之道:从创新构想到落地执行的实战心法 【免费下载链接】A-to-Z-Resources-for-Students ✅ Curated list of resources for college students 项目地址: https://gitcode.com/GitHub_Trending/at/A-to-Z-Resources-for-Students 在当今技术驱动的时…...
FreeRTOS内核探秘:双向链表如何玩转任务调度?从xListEnd到pxIndex全解析
FreeRTOS内核探秘:双向链表如何玩转任务调度?从xListEnd到pxIndex全解析 在嵌入式实时操作系统领域,任务调度效率直接决定了系统响应能力。FreeRTOS作为市场占有率最高的RTOS之一,其精巧的内核设计一直是开发者研究的焦点。想象一…...
工业能量:05.UPS如何救场(啤酒厂断电救命案例)
05.UPS如何救场(啤酒厂断电救命案例) 在工厂里,最昂贵的不是设备,而是“停机一秒的代价”。 前四期咱们把开关电源、浪涌、冗余聊了个遍,今天终于轮到大救星——UPS出场了!直接上个真事儿,啤酒厂的,让你们听完直呼“原来它这么猛”! 你以为啤酒厂停电就是灯黑了,大家…...
Ostrakon-VL-8B零基础上手:无需Python基础,通过Chainlit界面完成首次图文问答
Ostrakon-VL-8B零基础上手:无需Python基础,通过Chainlit界面完成首次图文问答 你是不是对AI图文对话很感兴趣,但一看到Python代码、命令行就头疼?是不是觉得部署一个多模态大模型需要专业的技术背景?今天我要告诉你一…...
Guohua Diffusion 快速入门:三步完成星图GPU平台一键部署
Guohua Diffusion 快速入门:三步完成星图GPU平台一键部署 想试试AI绘画,但被复杂的安装和环境配置劝退?今天,咱们就来聊聊怎么用最简单的方式,在星图GPU平台上玩转Guohua Diffusion。整个过程,你只需要点三…...
