surface go能运行python吗_python 利用matplotlib在3D空间中绘制平面的案例

图形:

68a02d80f2c6e0e6c674b6e8d7a73a84.png

0、import

import numpy as np

import matplotlib as mpl

from matplotlib import cm

from matplotlib import pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

1、水平和垂直平面

# 创建画布

fig = plt.figure(figsize=(12, 8),

facecolor="lightyellow"

)

# 创建 3D 坐标系

ax = fig.gca(fc="whitesmoke",

projection="3d"

)# 二元函数定义域平面

x = np.linspace(0, 9, 9)

y = np.linspace(0, 9, 9)

X, Y = np.meshgrid(x, y)

# -------------------------------- 绘制 3D 图形 --------------------------------

# 平面 z=4.5 的部分

ax.plot_surface(X,

Y,

Z=X*0+4.5,

color="g",

alpha=0.6

)

# 平面 y=4.5 的部分

ax.plot_surface(X,

Y=X*0+4.5,

Z=Y,

color="y",

alpha=0.6

)

# 平面 x=4.5 的部分

ax.plot_surface(X=X*0+4.5,

Y=Y,

Z=X,

color="r",

alpha=0.6

)

# -------------------------------- --------------------------------

# 设置坐标轴标题和刻度

ax.set(xlabel="X",

ylabel="Y",

zlabel="Z",

xlim=(0, 9),

ylim=(0, 9),

zlim=(0, 9),

xticks=np.arange(0, 10, 2),

yticks=np.arange(0, 10, 1),

zticks=np.arange(0, 10, 1)

)

# 调整视角

ax.view_init(elev=15, # 仰角

azim=60 # 方位角

)

# 显示图形

plt.show()

图形:

4e8c3e342d0146d960614bd9f2c656de.png

2、斜平面

# 创建画布

fig = plt.figure(figsize=(12, 8),

facecolor="lightyellow"

)

# 创建 3D 坐标系

ax = fig.gca(fc="whitesmoke",

projection="3d"

)

# 二元函数定义域

x = np.linspace(0, 9, 9)

y = np.linspace(0, 9, 9)

X, Y = np.meshgrid(x, y)

# -------------------------------- 绘制 3D 图形 --------------------------------

# 平面 z=3 的部分

ax.plot_surface(X,

Y,

Z=X*0+3,

color="g"

)

# 平面 z=2y 的部分

ax.plot_surface(X,

Y=Y,

Z=Y*2,

color="y",

alpha=0.6

)

# 平面 z=-2y + 10 部分

ax.plot_surface(X=X,

Y=Y,

Z=-Y*2+10,

color="r",

alpha=0.7

)

# -------------------------------- --------------------------------

# 设置坐标轴标题和刻度

ax.set(xlabel="X",

ylabel="Y",

zlabel="Z",

xlim=(0, 9),

ylim=(0, 9),

zlim=(0, 9),

xticks=np.arange(0, 10, 2),

yticks=np.arange(0, 10, 1),

zticks=np.arange(0, 10, 1)

)

# 调整视角

ax.view_init(elev=15, # 仰角

azim=10 # 方位角

)

# 显示图形

plt.show()

图形:

47e9515ce6ea709113f6c92a5ea6a4df.png

软件信息:

04c8e11ee516eb81fa212b0a98db7a05.png

补充:Python数据分析(Matplotlib)之3D图形

使用python绘制一个简单的三维图

我就废话不多说了,大家还是直接看代码吧~

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pylab as plt

import numpy as np

from matplotlib import cm

#使用3d关键字来进行指定图像的三维投影

fig = plt.figure()

ax = fig.add_subplot(111,projection="3d")

"""numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

在指定的间隔内返回均匀间隔的数字。

meshgrid函数创建一个二维坐标网络,这将用于二维坐标网络,这将用于变量x和y的赋值

"""

u = np.linspace(-1,1,100)

x,y =np.meshgrid(u,u)

z = x**2 +y**2

#指定行和列的步幅,以及绘制的色彩表

ax.plot_surface(x,y,z,rstride=4,cstride=4,cmap=cm.YlGnBu_r)

plt.show()

88adff475abba689baafd9d8942b4a97.png

以上为个人经验,希望能给大家一个参考,也希望大家多多支持云海天教程。如有错误或未考虑完全的地方,望不吝赐教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值