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检测手机QQ在线状态的脚本代码
Feb 10 Python
python自动安装pip
Apr 24 Python
python基础教程之自定义函数介绍
Aug 29 Python
python使用opencv读取图片的实例
Aug 17 Python
Python探索之修改Python搜索路径
Oct 25 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
Django 导出项目依赖库到 requirements.txt过程解析
Aug 23 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
Django中间件拦截未登录url实例详解
Sep 03 Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 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
同时提取多条新闻中的文本一例
2006/10/09 PHP
php 随机生成10位字符代码
2009/03/26 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
php限制文件下载速度的代码
2015/10/20 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
jQuery获取剪贴板内容的方法
2016/06/16 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
Python 中的lambda函数介绍
2018/10/10 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
python识别验证码图片实例详解
2020/02/17 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
python switch 实现多分支选择功能
2020/12/21 Python
资料员的岗位职责
2013/11/20 职场文书
大班上学期个人总结
2015/02/13 职场文书
2015年环保局工作总结
2015/05/22 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
校园运动会广播稿
2015/08/19 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL
MySQL批量更新不同表中的数据
2022/05/11 MySQL