python画图|三维动态柱状图绘制

news2024/11/23 12:39:41

【1】引言

前序已经学习了二维动态柱状图绘制教程,本次尝试探索三维动态柱状图绘制教程:

【2】项目设计

三维和二维的不同,要在一开始就定义。

二维的定义简单粗暴,只需要一行代码:

fig, ax = plt.subplots()  # 定义要画图

到了三维则需要两行,一行说要画三维图,一行说这个图使用哪种画法:

fig=plt.figure()
ax = fig.add_subplot(projection='3d')

另外在直方图输出的时候,调用的函数也是ax.bar3d():

def animate(i):  # 自定义函数
    ax.bar3d(x[i], np.sin(x[i]),np.cos(x[i]),0.1,0.1,abs(np.cos(x[i])))

这里的0.1,0.1,abs(np.cos(x[i]))代表的是方块的宽度、深度和高度,如需更深度的学习可通过点击下述链接直达官网:

https://matplotlib.org/stable/api/_as_gen/mpl_toolkits.mplot3d.axes3d.Axes3D.bar3d.html#mpl_toolkits.mplot3d.axes3d.Axes3D.bar3d

此时的完整代码为:

import matplotlib.pyplot as plt  # 引入画图模块
import numpy as np  # 引入计算模块

import matplotlib.animation as animation  # 引入动画模块
from joblib import delayed
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
x = np.linspace(0, 10, 100)  # 定义自变量
def animate(i):  # 自定义函数
    ax.bar3d(x[i], np.sin(x[i]),np.cos(x[i]),0.1,0.1,abs(np.cos(x[i])))

ani = animation.FuncAnimation(fig, animate, interval=50
                             )  # repeat=True, frames=len(x) - 1, interval=50 调用animation.FuncAnimation()函数画图

ani.save('ani-3d-bar-aixmls.gif') #保存动画
ax.set_title('ani-3d-bar-aixmls') #设置图名
plt.show() #输出图形

图1

import matplotlib.pyplot as plt  # 引入画图模块
import numpy as np  # 引入计算模块

import matplotlib.animation as animation  # 引入动画模块
from joblib import delayed
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
x = np.linspace(0, 10, 100)  # 定义自变量
def animate(i):  # 自定义函数
    ax.bar3d(x[i], np.sin(x[i]),np.cos(x[i]),0.1,0.1,abs(np.cos(x[i])))

ani = animation.FuncAnimation(fig, animate, interval=50
                             )  # repeat=True, frames=len(x) - 1, interval=50 调用animation.FuncAnimation()函数画图
ax.set_title('ani-3d-bar-aixmls') #设置图名
ani.save('ani-3d-bar-aixmls.gif') #保存动画

plt.show() #输出图形

【3】总结

经过自我探索,成功实现三维柱状图动图绘制。

 

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

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

相关文章

【动手学深度学习】6.6. 卷积神经网络(LeNet)(个人向笔记)

之前我们对Fashion-MNIST数据集的每一张图片进行展平,并用全连接层进行处理。现在我们可以用卷积神经网络来代替它了!用卷积层处理可以在图像中保留空间结构,同时模型更简洁,所需参数更少本节将介绍LeNet,它是最早发布…

python学习-怎么在Pycharm写代码

打开Pycharm,点击文件-新建项目 2.选择pure python-点击箭头 展开 3.选择 Existing interpreter 如果 Existing interpreter 下没有相关环境 (1)点击**…** (2)选择python的安装路径 4.可修改文件名称-点击创建 …

低功耗4G边缘采集网关——一块电池、一个网关 覆盖90%低功耗场景

低功耗4G边缘采集网关——一块电池、一个网关 覆盖90%低功耗场景 一、简介 历经几个月的研发,DEVELOPLINK 终于推出了低功耗系列采集网关。如果你有低功耗采集的需求, 可以仔细阅读这篇文章,了解一下低功耗系列采集网关的基本情况。 研发的初衷&#…

基于SpringBoot的医院信息管理平台

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 系统展示 【2024最新】基于JavaSpringBootVueMySQL的医院信息管理平台,前后端分离。 开发语言:Java数据库:MySQ…

xss-labs靶场第八关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、注入点寻找 2、使用hackbar进行payload测试 3、绕过结果 四、源代码分析 五、结论 一、测试环境 1、系统环境 渗透机:本机(127.0.0.1) 靶 机:本机(127.0.0.…

springboot大学校园用电数据管理与可视化系统-计算机毕业设计源码87507

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 用户注册流程 2.2.2 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.4 系统用例分析 2.5本章小结 3 系统总体设计 3.1 系统架构设计…

抖音视频制作怎么暂停画面,抖音视频怎么让它有暂停的效果

千万别滥用视频特效,不然它能毁掉你的抖音作品。在创作过程中,应尽量使用类似暂停画面、隐形字幕这样的视觉特效,可以显著提高作品的视觉体验。增强视频表现力的同时,也不会让画面看起来过于夸张。有关抖音视频制作怎么暂停画面的…

WIN10右键-打开方式-选择其他应用:该文件没有与之关联的应用来执行该操作...解决办法

WIN10右键-打开方式-选择其他应用:该文件没有与之关联的应用来执行该操作…解决办法 问题描述 鼠标右键->打开方式->选择其他应用,提示错误:该文件没有与之关联的应用来执行该操作。请安装应用,若已经安装应用,…

重学SpringBoot3-集成Redis(十二)之点赞功能实现

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(十二)之点赞功能实现 1. 点赞功能的场景分析2. 项目环境配置2.1. 依赖引入2.2. Redis 配置 3. 点赞功能的实现3.1. 点…

Spring Boot课程问答:一键解决疑惑

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

【vue+printJs】前端打印, 自定义字体大小, 自定义样式, 封装共享样式

效果示例 思维导图 目录 1,基本使用1, 依赖下载2, 页面导入3, 修改字体大小(可行但不推荐) 2, 自定义样式,字体大小1, 修改字体大小(推荐)2, 自定义样式3, 封装共享样式 3, 去除页面页脚内容4, 测试案例demo, 直接cv可用5, print-js的其他参数说明 1,基本使用 1, 依赖下载 …

【SpringBoot详细教程】-14-Spring Secruity 安全管理【持续更新】

🌲 Spring Security 基本原理 🌿 Spring Security简介 Spring Security 是基于Spring框架,提供的一套Web应用安全性的完整解决方案,一般来说,Web应用的安全性包含 用户认证(Authentication)和…

JavaScript全面指南(三)

​🌈个人主页:前端青山 🔥系列专栏:Javascript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来javascript篇专栏内容:JavaScript全面指南(三) 目录 41、构造函数Fn,原型对象,实例…

SpringBoot助力高校学科竞赛平台的快速开发

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

【数据处理】大数据入门

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀软件开发必备知识_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 1. 前言 本…

【C】C语言常见概念~

C语言常见概念 转义字符 转义字符&#xff0c;顾名思义&#xff0c;转变原来意思的字符 比如 #include <stdio.h> int main() {printf("abcndef");return 0; }输出的结果为&#xff1a; 将代码修改一下&#xff1a; #include <stdio.h> int main(…

如何创建诊断数据库模板(CDDT)

创建一个新的模板文件有两种方式&#xff1a; 1.修改现有模板形成自定义的模板 CANdelaStudio 21提供了基本范本&#xff0c;Vector_UDS_21.cddt&#xff0c;存放在C:\Users\Public\Documents\Vector\CANdelaStudio\21\Examples目录下。打开CANdelaStudio软件后&#xff0c;点击…

鸿蒙开发案例:HarmonyOS NEXT语法实现2048

【实现的功能】 • 游戏逻辑&#xff1a;实现了2048游戏的核心逻辑&#xff0c;包括初始化游戏盘面、添加随机方块、处理四个方向的滑动操作等。 • UI展示&#xff1a;构建了游戏的用户界面&#xff0c;显示得分、游戏盘面&#xff0c;并提供了重新开始按钮。 • 用户交互&…

6.资源《 Arduino UNO R3 proteus使用MAX7219控制多个数码管工程文件(含驱动代码)》说明。

资源链接&#xff1a; Arduino UNO R3 proteus使用MAX7219控制多个数码管工程文件&#xff08;含驱动代码&#xff09; 1.文件明细&#xff1a; 2.文件内容说明 包含&#xff1a;proteus工程&#xff0c;内含设计图和工程代码。 3.内容展示 4.简述 工程功能可以看这个视频…

即插即用hilo注意力机制,捕获低频高频特征

题目&#xff1a;Fast Vision Transformers with HiLo Attention 论文地址: https://arxiv.org/abs/2205.13213 创新点 HiLo自注意力机制&#xff1a;作者提出了一种新的自注意力机制&#xff0c;称为HiLo注意力&#xff0c;旨在同时捕捉图像中的高频和低频信息。该方法通过…