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 本次会议将重点讨论材料科学、应用力学等领域的最新研究进展与发展趋势。会议旨在为国内外从事这些领域研究…...
CANN/asc-devkit原子减法操作
asc_atomic_sub 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode…...
Perplexity语言学习资源深度测评(2024Q2最新版):92%的学习者不知道的5个隐藏功能与3倍提效配置
更多请点击: https://intelliparadigm.com 第一章:Perplexity语言学习资源概览与核心价值定位 Perplexity 作为一款以“实时、可溯源、推理驱动”为设计哲学的AI问答工具,正迅速成为语言学习者构建语境化知识体系的关键基础设施。它并非传统…...
实习前自我培训-Day3学习
Day3学习–MySQL 企业开发使用方式 使用命令mysql -hip地址 -P端口号 -uroot -p来连接远程的数据库 数据模型关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库特点:使用表存储数据,格式同意,便于…...
别让中文路径坑了你!FaceFusion在Windows和Mac上的完整环境配置与文件规范指南
别让中文路径坑了你!FaceFusion在Windows和Mac上的完整环境配置与文件规范指南 在数字创意领域,FaceFusion作为一款强大的AI换脸工具,正受到越来越多内容创作者的青睐。然而,许多用户在初次接触时往往会被一系列看似莫名其妙的错误…...
Performance Fish深度解析:如何通过四级缓存架构实现《环世界》400%性能优化
Performance Fish深度解析:如何通过四级缓存架构实现《环世界》400%性能优化 【免费下载链接】Performance-Fish Performance Mod for RimWorld 项目地址: https://gitcode.com/gh_mirrors/pe/Performance-Fish Performance Fish是一款专为《环世界》&#x…...
Uniapp网络请求进阶:手把手教你用uni.addInterceptor实现全局请求管理与错误处理
Uniapp网络请求工程化实战:基于uni.addInterceptor的全局管控体系 在移动开发生态中,网络请求如同项目的血脉系统。当Uniapp项目规模扩展到企业级时,原始的直接调用uni.request方式会暴露出诸多痛点:重复的配置代码、分散的错误处…...
现货TJA1101AHN/0Z是NXP推出的一款高性能、低功耗的汽车以太网PHY芯片,作为TJA1101A的改进版本,专为车载电子系统设计,支持100BASE-T1标准,具备出色的可靠性与集成度
TJA1101AHN/0Z 是NXP(恩智浦)推出的一款高性能、低功耗的汽车以太网PHY芯片,作为TJA1101A的改进版本,专为车载电子系统设计,支持100BASE-T1标准,具备出色的可靠性与集成度。核心性能与优势:…...
校园 AI 大数据智慧分析平台:点亮智慧校园的数字新大脑
传统校园管理与教学工作,大多依赖人工统计、经验判断。学生学情分析、校园安全巡查、日常教务管理、校园能耗把控,不仅工作量大、效率低下,还容易出现数据滞后、分析片面、管理粗放等问题。而校园 AI 大数据智慧分析平台依托大数据、人工智能…...
抢先李飞飞!世界模型能多人联机玩FPS游戏了
Jay 发自 凹非寺量子位 | 公众号 QbitAI我被AI杀了?有视频为证,我被一个不知道是人还是AI的东西,一枪崩了。还是在一个世界模型创造的世界里。嗯,就是这个画质糊成马赛克的网页版FPS。背后没有游戏引擎,没有物理规则&a…...
避开这些坑!新手用Python处理MODIS HDF数据时最常遇到的5个问题及解决方法
Python处理MODIS HDF数据的五大实战陷阱与解决方案 当你第一次用Python打开MODIS HDF文件时,那种期待感就像拆开一份科技礼物——直到GDAL抛出一连串晦涩的错误信息。作为遥感领域最常用的数据格式之一,MODIS HDF文件以其复杂的层级结构和特有的数据处理…...
