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


Posted in Python onFebruary 06, 2021

图形:

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空间中绘制平面的案例

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

Python 相关文章推荐
Python中Iterator迭代器的使用杂谈
Jun 20 Python
Python内置函数OCT详解
Nov 09 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
Python数据结构与算法之字典树实现方法示例
Dec 13 Python
python用户管理系统
Mar 13 Python
使用Python将字符串转换为格式化的日期时间字符串
Sep 01 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
Pandas中DataFrame基本函数整理(小结)
Jul 20 Python
Python unittest生成测试报告过程解析
Sep 08 Python
python pillow库的基础使用教程
Jan 13 Python
Python代码风格与编程习惯重要吗?
Jun 03 Python
PyQt5通过信号实现MVC的示例
Feb 06 #Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 06 #Python
python 利用panda 实现列联表(交叉表)
Feb 06 #Python
jupyter 添加不同内核的操作
Feb 06 #Python
解决import tensorflow导致jupyter内核死亡的问题
Feb 06 #Python
PyCharm常用配置和常用插件(小结)
Feb 06 #Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 #Python
You might like
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
PHP文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
JavaScript的目的分析
2007/01/05 Javascript
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
escape函数解决js中ajax传递中文出现乱码问题
2014/10/30 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
JavaScript用document.write()输出换行的示例代码
2020/11/26 Javascript
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
Python脚本实现格式化css文件
2015/04/08 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
应付会计岗位职责
2013/12/12 职场文书
优秀经理事迹材料
2014/02/01 职场文书
高效课堂标语
2014/06/26 职场文书
励志演讲稿800字
2014/08/21 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
python编程项目中线上问题排查与解决
2021/11/01 Python
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL