Python绘制三维立体图详解

利用Python绘制三维图

目标: 绘制图像 z^2 = x^2 + y^2 + x/3 + y/3


1.第一步我们先导入画图所需要的包:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D # 用于绘制3D图案

2.画曲面的第一步是就是要创建一个二维平面的网格,我们先创建这个二维平面的x轴和y轴,范围在-1到1之间分为100份

x = np.linspace(-1,1,100)
y = np.linspace(-1,1,100)

        再调用numpy中的meshgrid函数,进行网格化操作

x_,y_ = np.meshgrid(x,y,indexing='ij') 

3.绘制图形:plt.figure():自定义图像,plt.add_subplot():添加子图(下面完整代码中的111的含义是创建一个一行一列的子图表格,最后一个1表示第一个子图),plt.plot_surface():绘制曲面,plt.colorbar():添加颜色棒

显示的函数为:

z_ = x_**2 + y_**2 + x_ / 3 + y_ / 3

4.完整代码:

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D #绘制3D图案

x = np.linspace(-1,1,100)
y = np.linspace(-1,1,100)
x_, y_ = np.meshgrid(x,y,indexing='ij')
z_ = x_**2 + y_**2 + x_ / 3 + y_ / 3  # 画图所要表现出来的主函数
fig = plt.figure(figsize=(10, 10), facecolor='white') #创建图片
sub = fig.add_subplot(111, projection='3d')# 添加子图,
surf = sub.plot_surface(x_, y_, z_, cmap=plt.cm.brg) #绘制曲面,cmap=plt.cm.brg并设置颜色cmap
cb = fig.colorbar(surf, shrink=0.8, aspect=15) #设置颜色棒

sub.set_xlabel(r"x axis")
sub.set_ylabel(r"y axis")
sub.set_zlabel(r"z axis")
plt.show()

运行结果如下:

Python绘制三维立体图详解_第1张图片

 

你可能感兴趣的:(python学习,python,三维立体图,matplotlib,mpl_toolkits,python画三维立体图)