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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 第七章、绘制3D图表和统计地图 -> 正文阅读

[人工智能]第七章、绘制3D图表和统计地图

7.1、使用mtplot3d绘制3D图表
7.1.1、mplot3d概述
mplot3d是matplotlib中专门绘制3D图表的工具包,它主要包含一个继承自Axes的子类Axes3D,使用Axes3D类可以构建一个三维坐标系的绘图区域。matpl otlib可以通过两种方式创建Axes3d类的对象:一种方式是Axes3D()方法,另一种方式是add_subplot()方法。
1、Axes3D()方法
Axes3D()方法是构造方法,它直接用于构建一个Axes3D类的对象
2、add_subplot()方法
在调用add_subplot()方法添加绘图区域时为该方法传入projection=‘3d’,即指定坐标系的类型为三维坐标系,返回一个Axes3D对象。
7.1.2、绘制常见的3D图表
1、绘制3D线框图
import matplotlib.pyplot as plot
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.title(‘51’)
plt.show()
在这里插入图片描述
2、绘制3D曲面图
import matplotlib.pyplot as plot
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(x12+y12)
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.title(‘51’)
plt.show()
在这里插入图片描述
7.1.3、实例1:三维空间的星星
实例代码如下:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
plt.rcParams[“font.sans-serif”]=[“SimHei”]
plt.rcParams[“axes.unicode_minus”]=False
x=np.random.randint(0,40,30)
y=np.random.randint(0,40,30)
z=np.random.randint(0,40,30)
fig=plt.figure()
ax=fig.add_subplot(111,projection=‘3d’)
for xx,yy,zz in zip(x,y,z):
color=‘y’
if 10<zz<20:
color=‘skyblue’
elif zz>=20:
color=‘#C71585’
ax.scatter(xx,yy,zz,c=color,marker=‘',s=160,
linewidth=1,edgecolor=‘white’)
ax.set_xlabel(‘x轴’)
ax.set_ylabel(‘y轴’)
ax.set_zlabel(‘z轴’)
ax.set_title(‘3D散点图 51’,fontproperties=‘simhei’,fontsize=14)
plt.tight_layout()
plt.show()
在这里插入图片描述
7.2、使用animation制作动图
7.2.1、animation概述
matplotlib在1.1版本的标准库中加入了动画模块——animation,使用改模块Animation类可以实现一些基本的动画效果。Animation类是一个动画基类,它针对于不同的行为分别派生了不同的子类,主要包括FuncAnimation类和Artist Animation类,其中FuncAnimation类表示基于重复调用一个函数的动画;Artist Animation类表示基于一个固定Artist对象的动画。
1、FuncAnimation类
FuncAnimation类是基于函数的动画,它通过重复调用同一个函数来制作动画
fig:表示动画所在的画布
func:表示每帧动画调用的函数
frames:表示动画的长度
init_func:表示用于开始绘制帧的函数
fargs:表示传递给func函数的其他函数
interval:表示更新动画的频率
blit:表示是否更新所有的点
2、ArtistAnimation类
示例代码如下:
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,repeat=True)
plt.title(‘51’)
plt.show()
在这里插入图片描述
7.2.2、实例2:三维空间闪烁的空间
示例代码如下:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
from matplotlib.animation import FuncAnimation
plt.rcParams[“font.sans-serif”]=[“SimHei”]
plt.rcParams[“axes.unicode_minus”]=False
xx=np.array([13,5,25,13,9,18,3,39,13,27])
yy=np.array([4,38,16,26,7,19,23,25,10,15])
zz=np.array([7,19,6,12,25,19,23,25,10,15])
fig=plt.figure()
ax=fig.add_subplot(111,projection=‘3d’)
star=ax.scatter(xx,yy,zz,c=’#C71585’,marker=‘‘,s=160)
def animate(i):
if i%2:
color=’#C71585’
else:
color=‘white’
next_star=ax.scatter(xx,yy,zz,c=color,marker='
’,s=160,
linewidth=1,edgcolor=‘black’)
return next_star
def init():
return star
ani=FuncAnimation(fig=fig,func=animate,frames=None,init_func=init,
interval=1000,blit=False)
ax.set_xlabel(‘x轴’)
ax.set_ylabel(‘y轴’)
ax.set_zlabel(‘z轴’)
ax.set_title(‘3D散点图 51’,fontproperties=‘simhei’,fontsize=14)
plt.tight_layout()
plt.show()
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:10:15  更:2022-04-06 23:13:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:42:51-

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