matplotlib学习笔记(七)

本文介绍了如何使用Python的matplotlib库创建3D图形,包括绘制3D曲面、3D散点图和3D条形柱状图。通过实例展示了不同类型的3D图形及其参数设置,如视角、颜色映射等,是Python数据可视化的实用教程。
摘要由CSDN通过智能技术生成

导入模块

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

设置3D坐标系:

fig = plt.figure()
ax = Axes3D(fig)
 

1.3D曲面

plot_suface函数 绘制曲面

ax.plot_surface(x,y,z,rstride,cstride,cmap)

x,y,z: 三维数据

rstride: 数组行距(指定行跨度)

cstride: 数组行距(指定列跨度)

cmap: 颜色映射

fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-2,2,0.1)
Y = np.arange(-2,2,0.1)
X,Y = np.meshgrid(X,Y)

def f(x,y):
    return(1-y**5+x**5)*np.exp(-x**2-y**2)

surface = ax.plot_surface(X,Y,f(X,Y), rstride=1, cstride=1, cmap=plt.cm.jet)
fig.colorbar(surface)
ax.view_init(elev=30,azim=125)  # 设置视角(elev为视角高度,azim为曲面旋转角度)
plt.show()

2.3D散点图

scatter(x,y,z,color,marker)

x,y,z: 三维数据

color: 颜色

marker: 标记样式

x = np.random.randint(30,40,100)
y = np.random.randint(20,30,100)
z = np.random.randint(10,20,100)

fig = plt.figure()
ax = Axes3D(fig)

ax.scatter(x,y,z,c='r',marker='*')
ax.set_xlabel('x Label')
ax.set_ylabel('y Label')
ax.set_zlabel('z Label')
plt.show()

 

3.3D条形柱状图

bar(x,y,z,zdir,color)

x = np.arange(8)
y1 = [1,3,9,3,6,2,3,6]
y2 = [2,5,3,1,7,9,3,6]
y3 = [1,2,3,4,5,6,7,8]
color = ['r','c','b','brown','C1','C2',"y",'m']

fig = plt.figure()
ax = Axes3D(fig)

ax.bar(x,y1,1,zdir='y',color=color)
ax.bar(x,y2,2,zdir='y',color=color)
ax.bar(x,y3,3,zdir='y',color=color)
ax.set_xlabel('x Label')
ax.set_ylabel('y Label')
ax.set_zlabel('z Label')
ax.view_init(elev=40) #设置视角
plt.show()


参考:

法比奥·内利. Python数据分析实战:第2版.北京:人民邮电出版社, 2019.11.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值