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中apply函数的用法实例教程
Jul 31 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
python相似模块用例
Mar 04 Python
python中print的不换行即时输出的快速解决方法
Jul 20 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
Python中.join()和os.path.join()两个函数的用法详解
Jun 11 Python
python返回数组的索引实例
Nov 28 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
Django 用户登陆访问限制实例 @login_required
May 13 Python
pytorch查看网络参数显存占用量等操作
May 12 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
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
jquery延迟加载外部js实现代码
2013/01/11 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
Python pickle模块用法实例
2015/04/14 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Python代码注释规范代码实例解析
2020/08/14 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
设计毕业生简历中的自我评价
2013/10/01 职场文书
老公爱的承诺书
2014/03/31 职场文书
少儿节目主持串词
2014/04/02 职场文书
法制宣传日活动总结
2014/04/29 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
总经理岗位职责范本
2015/04/01 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书