python 利用matplotlib在3D空間中繪制平面的案例
圖形:

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、水平和垂直平面
# 創(chuàng)建畫布
fig = plt.figure(figsize=(12, 8),
facecolor='lightyellow'
)
# 創(chuàng)建 3D 坐標(biāo)系
ax = fig.gca(fc='whitesmoke',
projection='3d'
)# 二元函數(shù)定義域平面
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
)
# -------------------------------- --------------------------------
# 設(shè)置坐標(biāo)軸標(biāo)題和刻度
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)
)
# 調(diào)整視角
ax.view_init(elev=15, # 仰角
azim=60 # 方位角
)
# 顯示圖形
plt.show()
圖形:

2、斜平面
# 創(chuàng)建畫布
fig = plt.figure(figsize=(12, 8),
facecolor='lightyellow'
)
# 創(chuàng)建 3D 坐標(biāo)系
ax = fig.gca(fc='whitesmoke',
projection='3d'
)
# 二元函數(shù)定義域
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
)
# -------------------------------- --------------------------------
# 設(shè)置坐標(biāo)軸標(biāo)題和刻度
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)
)
# 調(diào)整視角
ax.view_init(elev=15, # 仰角
azim=10 # 方位角
)
# 顯示圖形
plt.show()
圖形:

軟件信息:

補(bǔ)充:Python數(shù)據(jù)分析(Matplotlib)之3D圖形
使用python繪制一個(gè)簡單的三維圖
我就廢話不多說了,大家還是直接看代碼吧~
from mpl_toolkits.mplot3d import Axes3D import matplotlib.pylab as plt import numpy as np from matplotlib import cm #使用3d關(guān)鍵字來進(jìn)行指定圖像的三維投影 fig = plt.figure() ax = fig.add_subplot(111,projection='3d') """numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 在指定的間隔內(nèi)返回均勻間隔的數(shù)字。 meshgrid函數(shù)創(chuàng)建一個(gè)二維坐標(biāo)網(wǎng)絡(luò),這將用于二維坐標(biāo)網(wǎng)絡(luò),這將用于變量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()

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Flask框架學(xué)習(xí)筆記之消息提示與異常處理操作詳解
這篇文章主要介紹了Flask框架學(xué)習(xí)筆記之消息提示與異常處理操作,結(jié)合實(shí)例形式分析了flask框架表單登陸消息提示、錯(cuò)誤模板調(diào)用及異常處理相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
Python使用StringIO和BytesIO讀寫內(nèi)存數(shù)據(jù)
這篇文章介紹了Python使用StringIO和BytesIO讀寫內(nèi)存數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
pycharm運(yùn)行pytest中文編碼格式錯(cuò)亂解決
這篇文章主要為大家介紹了pycharm運(yùn)行pytest中文編碼格式錯(cuò)亂的解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
python 讀取數(shù)據(jù)庫并繪圖的實(shí)例
今天小編就為大家分享一篇python 讀取數(shù)據(jù)庫并繪圖的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python加載文件內(nèi)容的兩種實(shí)現(xiàn)方式
這篇文章主要介紹了Python加載文件內(nèi)容的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Python3 socket即時(shí)通訊腳本實(shí)現(xiàn)代碼實(shí)例(threading多線程)
這篇文章主要介紹了Python3 socket即時(shí)通訊腳本實(shí)現(xiàn)代碼實(shí)例(threading多線程),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
python 進(jìn)程間數(shù)據(jù)共享multiProcess.Manger實(shí)現(xiàn)解析
這篇文章主要介紹了python 進(jìn)程間數(shù)據(jù)共享multiProcess.Manger實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09

