python 利用matplotlib在3D空間中繪制平面的案例
更新時間:2021年02月06日 11:27:03 作者:賞爾
這篇文章主要介紹了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繪制一個簡單的三維圖
我就廢話不多說了,大家還是直接看代碼吧~
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)建一個二維坐標(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()
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
python+selenium實現(xiàn)自動化百度搜索關(guān)鍵詞
在本篇文章里我們給大家分享了一篇關(guān)于python+selenium實現(xiàn)自動化百度搜索關(guān)鍵詞的實例文章,需要的朋友們可以跟著操作下。2019-06-06Python scrapy爬取起點中文網(wǎng)小說榜單
爬蟲的基礎(chǔ)內(nèi)容已經(jīng)全部學(xué)玩,博主決定想著更加標(biāo)準(zhǔn)化以及實用能力更強(qiáng)的scrapy進(jìn)發(fā),今天記錄自己第一個scrapy爬蟲項目. scrapy爬取起點中文網(wǎng)24小時熱銷榜單,需要的朋友可以參考下2021-06-06tensorflow:指定gpu 限制使用量百分比,設(shè)置最小使用量的實現(xiàn)
今天小編就為大家分享一篇tensorflow:指定gpu 限制使用量百分比,設(shè)置最小使用量的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02