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中sets模块的用法实例
Sep 30 Python
Python爬取Coursera课程资源的详细过程
Nov 04 Python
浅谈python 中类属性共享的问题
Jul 02 Python
线程安全及Python中的GIL原理分析
Oct 29 Python
pymysql的简单封装代码实例
Jan 08 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
超级实用的8个Python列表技巧
Aug 24 Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 Python
Python fileinput模块如何逐行读取多个文件
Oct 05 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 Python
python中的sys模块和os模块
Mar 20 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
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
印尼旅游网站:via
2017/11/12 全球购物
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
小学生期末自我鉴定
2014/01/19 职场文书
写求职信有什么意义
2014/02/17 职场文书
实习会计求职自荐信范文
2014/03/10 职场文书
质量提升方案
2014/06/16 职场文书
环境保护标语
2014/06/20 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
项目战略合作意向书
2015/05/08 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server