首页 > 编程语言 >python画图|三维动态柱状图绘制

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

时间:2024-10-14 21:20:15浏览次数:3  
标签:plt python 画图 柱状图 animation fig import np ax

【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】总结

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

 

标签:plt,python,画图,柱状图,animation,fig,import,np,ax
From: https://blog.csdn.net/weixin_44855046/article/details/142863955

相关文章

  • Python编程基础之变量与数据类型
    一、变量    在Python中,变量是用来存储数据值的标识符。变量的命名需要遵循一定的规则:1. 变量名只能包含字母、数字和下划线。2. 变量名不能以数字开头。3. 变量名不能是Python中的关键字(如if、else、for等)。    Python可以这样定义变量:my_variable=......
  • 从零开始的python学习(三)P25+P26+P27
    本文章记录观看B站python教程学习笔记和实践感悟,视频链接:【花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)】https://www.bilibili.com/video/BV1wD4y1o7AS/?p=6&share_source=copy_web&vd_source=404581381724503685cb98601d6706fb 上节课学习......
  • 从零开始的python学习(三)P28+P29+P30+P31
    本文章记录观看B站python教程学习笔记和实践感悟,视频链接:【花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)】https://www.bilibili.com/video/BV1wD4y1o7AS/?p=6&share_source=copy_web&vd_source=404581381724503685cb98601d6706fb上节课介绍了......
  • python笔试--输入输出总结(四)
    1、递归函数递归函数是一种在函数内部调用自身的函数。递归是一种强大的编程方法,常用于解决那些可以分解为更小、更简单的问题的问题。递归函数通常遵循以下定义:基本案例(BaseCase):递归函数必须有一个或多个基本情况,这些情况是函数不再调用自身就能直接求解的条件。基本情况是......
  • (开题)flask框架寝室综合管理系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,人们的娱乐方式日益多样化,其中网络游戏已成为众多年轻人休闲娱乐的首选。然而,在游戏过程中,许多玩家会遇到技术瓶......
  • (开题)flask框架陪玩小程序(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,人们的娱乐方式日益多样化,其中网络游戏已成为众多年轻人休闲娱乐的首选。然而,在游戏过程中,许多玩家会遇到技术瓶......
  • python代码将文件夹里面pdf全部出现单词出现频次显示出来并且出现意思,保存到excle
    英语考试和代码结合(自动化人哭了)需要教程可以私信我,我可以出视频B站importcsvimportrefromcollectionsimportCounterfrompdfminer.pdfparserimportPDFParserfrompdfminer.pdfdocumentimportPDFDocumentfrompdfminer.pdfpageimportPDFPagefrompdfmine......
  • Python 实现Excel XLS和XLSX格式相互转换
    在日常工作中,我们经常需要处理和转换不同格式的Excel文件,以适应不同的需求和软件兼容性。Excel文件的两种常见格式是XLS(Excel97-2003)和XLSX(Excel2007及以上版本)。本文将详细介绍如何使用Python在XLS和XLSX格式之间进行转换。Python库安装所需Python库-Spire.XLSforPython......
  • Python3 元组
    一、引入元组是什么?它既能像列表一样容纳不同类型的元素,也拥有字符串不可变的特性,所以元组是退化的列表吗?列表:[元素1,元素2,元素3,...,元素n]元组:(元素1,元素2,元素3,...,元素n)但事实上,元组的话可以不带小括号,只要用逗号隔开就行,如下所示:>>>rhyme=(1,2,3,......
  • 【最新原创毕设】基于SpringCloud的一站式热点推荐平台+23649(免费领源码)可做计算机毕
    目 录摘要1绪论1.1选题背景与意义1.2开发现状1.3论文结构与章节安排2 开发环境及相关技术介绍2.1MySQL数据库2.2 Tomcat服务器2.3 Java语言2.4 SpringCloud框架介绍3 一站式热点推荐平台系统分析3.1可行性分析3.1.1技术可行性分析3.1......