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 相关文章推荐
Python3实现连接SQLite数据库的方法
Aug 23 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 Python
对python程序内存泄漏调试的记录
Jun 11 Python
Python合并多个Excel数据的方法
Jul 16 Python
Python numpy中矩阵的基本用法汇总
Feb 12 Python
详解python中的模块及包导入
Aug 30 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
Apr 10 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 Python
利用python进行数据加载
Jun 20 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数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
python3生成随机数实例
2014/10/20 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python实现的字典值比较功能示例
2018/01/08 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
环保公益广告语
2014/03/13 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
九九重阳节标语
2014/10/07 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
师德承诺书
2015/01/20 职场文书