matplotlib 笔记:绘制3D图

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

1 绘制3D折线图

fig = plt.figure()
ax = plt.axes(projection='3d')
#创建3d绘图区域


z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
#数据部分

ax.plot3D(x, y, z, 'gray')
#绘制3D折线图
ax.set_title('3D line plot')
#设置标题
plt.show()

matplotlib 笔记:绘制3D图_第1张图片

2 绘制3D散点图

fig = plt.figure()
ax = plt.axes(projection='3d')
#创建3d绘图区域


z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
#数据部分
####数据部分同1###################

c = x + y
#表示各散点的颜色

ax.scatter3D(x, y, z, c=c)
#绘制3D折线图
ax.set_title('3D scatter plot')
#设置标题
plt.show()

 matplotlib 笔记:绘制3D图_第2张图片

3 绘制3D等高线

fig = plt.figure()
ax = plt.axes(projection='3d')
#创建3d绘图区域


x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)
#准备x,y数据


X, Y = np.meshgrid(x, y)
#生成x、y网格化数据


def f(x, y,k,r,sigma):
   return k*np.exp(-((np.sqrt(x*x+y*y)-r)**2)/(2*sigma*sigma))
#每个网格点对应的高度函数


Z = f(X, Y,1,4,1)
#每个网格点的高度

ax.contour3D(X, Y, Z,1000)

matplotlib 笔记:绘制3D图_第3张图片

 

 

你可能感兴趣的:(python库整理,matplotlib,笔记,3d)