IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 数据可视化chapter07_大数据2003_02 -> 正文阅读

[游戏开发]数据可视化chapter07_大数据2003_02

matplotlib绘制Axes3D的两种方法:

  1. Axes3D(fig,rect=None)
    • 该方法的参数所属画布,rect表示确定三维坐标系为值的元组
    • 创建方式
  2. add_subplot()
    • 添加绘图区域是传入projection='3d'
    • 创建方式

代码示例

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Axes3D()
fig = plt.figure()
ax = Axes3D(fig)
# add_subplot()
ax1 = fig.add_subplot(111,projection='3d')

绘制3D线框图

  • plot_wireframe(x,y,z)
  • 其他参数
    • rcount,ccount:表示每个坐标轴每个坐标轴方向所使用的最大样本量,默认50
    • rstride,cstride:表示采样密度
    • 注意:以上两个参数互斥,不能同时使用

代码示例

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_wireframe(X, Y, Z, rstride = 10, cstride = 10)
plt.show()

?

?绘制3D曲面图

  • plot_surface(x,y,z,)
  • rcount,ccount:表示每个坐标轴每个坐标轴方向所使用的最大样本量,默认50
  • rstride,cstride:表示采样密度
  • color:曲面颜色
  • cmap:表示曲面映射表
  • shade:表示是否对曲面进行着色

代码示例

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
from matplotlib import cm
import numpy as np
x1 = np.arange(-5, 5, 0.25)
y1 = np.arange(-5, 5, 0.25)
x1, y1 = np.meshgrid(x1, y1)
r1 = np.sqrt(x1**2 + y1 **2)
z1 = np.sin(r1)
fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')

ax.plot_surface(x1,y1,z1,cmap=cm.coolwarm, linewidth=0,antialiased=False)
ax.set_zlim(-1.01, 1.01)
plt.show()

?animation绘制动图

  1. FuncAnimation类:通过重复调用一个函数来制作动画
  2. FuncAnimation()
  3. 所含参数:*较为重要
    1. fig:表时动画所在的画布
    2. func:表示每帧动画所调用的函数
    3. frames:表示动画的长度(一次动画包含的帧数)
    4. Init_func:表示开始绘制帧的函数,绘制第一帧前被调用
    5. interval:动画更新的频率,毫秒为单位,默认200
    6. blit:是否更新所有点,官方推荐True,但MacOS推荐False否则无法显示动画

代码示例:此处无法显示图像,可以自行运行查看

%matplotlib qt5
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
x = np.arange(0, 2*np.pi, 0.01)
fig, ax = plt.subplots()
line, = ax.plot(x, np.sin(x))
def animate(i):
    line.set_ydata(np.sin(x + i/10.0))
    return line
def init():
    line.set_ydata(np.sin(x))
    return line
ani = FuncAnimation(fig = fig, func = animate, frames = 100, init_func=init, interval=20, blit=False)
plt.show()
  1. ArtistAnimation类:是基于一组Artist随想的动画类,通过一帧一帧的数据制作动画
  2. ArtistAnimation()
  3. 参数如下:
  4. fig:所在的画布
  5. artist:一组Artist对象
  6. interval:动画更新的频率,毫秒为单位,默认200
  7. repeat_delay:表示再次播放动画之前延迟的时长
  8. repeat:表示是否重复播放动画

代码示例:此处无法显示图像,可以自行运行查看

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import ArtistAnimation
x = np.arange(0, 2*np.pi, 0.01)
fig, ax = plt.subplots()
arr = []
for i in range(5):
    line = ax.plot(x, np.sin(x + i))
    arr.append(line)
ani = ArtistAnimation(fig = fig, artists= arr)
plt.show()

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:21:40  更:2022-04-06 16:23:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 20:04:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码