图形:

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、水平和垂直平面

# 创建画布
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()

图形:

python 利用matplotlib在3D空间中绘制平面的案例

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()

图形:

python 利用matplotlib在3D空间中绘制平面的案例

软件信息:

python 利用matplotlib在3D空间中绘制平面的案例

补充: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()

python 利用matplotlib在3D空间中绘制平面的案例

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

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?