python matplotlib绘制三维图的示例


Posted in Python onSeptember 24, 2020

作者:catmelo 本文版权归作者所有

链接:https://www.cnblogs.com/catmelo/p/4162101.html

本文参考官方文档:http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html

起步

新建一个matplotlib.figure.Figure对象,然后向其添加一个Axes3D类型的axes对象。
其中Axes3D对象的创建,类似其他axes对象,只不过使用projection='3d'关键词。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

3D曲线图

python matplotlib绘制三维图的示例

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt

mpl.rcParams['legend.fontsize'] = 10

fig = plt.figure()
ax = fig.gca(projection='3d')
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
ax.plot(x, y, z, label='parametric curve')
ax.legend()
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()

简化用法:

python matplotlib绘制三维图的示例

from pylab import *
from mpl_toolkits.mplot3d import Axes3D

plt.gca(projection='3d')
plt.plot([1,2,3],[3,4,1],[8,4,1],'--')
plt.xlabel('X')
plt.ylabel('Y')
#plt.zlabel('Z') #无法使用

3D散点图

python matplotlib绘制三维图的示例

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

def randrange(n, vmin, vmax):
  return (vmax-vmin)*np.random.rand(n) + vmin

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 100
for c, m, zl, zh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
  xs = randrange(n, 23, 32)
  ys = randrange(n, 0, 100)
  zs = randrange(n, zl, zh)
  ax.scatter(xs, ys, zs, c=c, marker=m)

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()

以上就是matplotlib绘制三维图的示例的详细内容,更多关于matplotlib绘制三维图的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
动态创建类实例代码
Oct 07 Python
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
用Python登录Gmail并发送Gmail邮件的教程
Apr 17 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
PyQt5每天必学之弹出消息框
Apr 19 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
详解如何在Apache中运行Python WSGI应用
Jan 02 Python
Python File(文件) 方法整理
Feb 18 Python
python turtle 绘制太极图的实例
Dec 18 Python
python爬取本站电子书信息并入库的实现代码
Jan 20 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 #Python
Django路由层URLconf作用及原理解析
Sep 24 #Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 #Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 #Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 #Python
python 多线程共享全局变量的优劣
Sep 24 #Python
改变 Python 中线程执行顺序的方法
Sep 24 #Python
You might like
PHP下escape解码函数的实现方法
2010/08/08 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
php自动载入类用法实例分析
2016/06/24 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
javascript中对对层的控制
2006/12/29 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
详解详解Python中writelines()方法的使用
2015/05/25 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
企业新年寄语
2014/04/04 职场文书
安全生产计划书
2014/05/04 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android