欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年02月06日 11:27:03   作者:賞爾  
這篇文章主要介紹了python 利用matplotlib在3D空間中繪制平面的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

圖形:

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è)簡(jiǎn)單的三維圖

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pylab as plt
import numpy as np
from matplotlib import cm
#使用3d關(guān)鍵字來(lái)進(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)文章

最新評(píng)論