当前位置: 首页 > news >正文

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

【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.mrgr.cn/news/49746.html

相关文章:

  • 低空经济概念如此火爆,跨行业入局如何成功?
  • docker搭建 Rancher开源的 Kubernetes管理平台
  • metabase域账号登录过期处理
  • Brave编译指南2024 Linux篇-更新与维护(八)
  • 企业内训|LLM大模型技术在金融领域的应用及实践-某商业银行分行IT团队
  • idea-java序列化serialversionUID自动生成
  • 弘景光电:以创新为翼,翱翔光学科技新蓝海
  • 养老小程序成品案例展示 养老小程序成品源码 小程序定制开发
  • 液态神经网络 LNN
  • springboot汽车售票系统演-毕业设计源码07891
  • Notepad++ 使用技巧
  • C# WinForm实现画笔签名及解决MemoryBmp格式问题
  • 【算法】笨小猴
  • ULID vs UUID: 全局唯一标识符的对比与应用
  • RJ45网线T568B接法
  • 同城家政小程序 月嫂预约小程序开发 家政行业小程序定制开发
  • 服务器性能优化:从监控到实践
  • 【输电线路可视化海思模组解决方案】
  • JavaScript全面指南(一)
  • 【C/C++】速通某站上的经典“笔试”编程题