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使用opencv进行人脸识别
Apr 07 Python
python分布式环境下的限流器的示例
Oct 26 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
Golang GBK转UTF-8的例子
Aug 26 Python
为什么说Python可以实现所有的算法
Oct 04 Python
Python jieba库用法及实例解析
Nov 04 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
TensorBoard 计算图的查看方式
Feb 15 Python
Python socket服务常用操作代码实例
Jun 22 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
python在CMD界面读取excel所有数据的示例
Sep 28 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
操作Oracle的php类
2006/10/09 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
JavaScript效率调优经验
2009/06/04 Javascript
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
javascript动态加载三
2012/08/22 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
python实现画圆功能
2018/01/25 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
简单分析python的类变量、实例变量
2019/08/23 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
PYTHON发送邮件YAGMAIL的简单实现解析
2019/10/28 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
阿里旅行:飞猪
2017/01/05 全球购物
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
小学毕业感言50字
2014/02/16 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
2016年母亲节寄语
2015/12/04 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang
pandas数值排序的实现实例
2021/07/25 Python
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android