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 相关文章推荐
对Python协程之异步同步的区别详解
Feb 19 Python
关于python多重赋值的小问题
Apr 17 Python
python仿evething的文件搜索器实例代码
May 13 Python
python设置环境变量的作用和实例
Jul 09 Python
解决python有时候import不了当前的包问题
Aug 28 Python
Python实现二叉树的最小深度的两种方法
Sep 30 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
Django获取model中的字段名和字段的verbose_name方式
May 19 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
Python之京东商品秒杀的实现示例
Jan 06 Python
如何使用Python对NetCDF数据做空间相关分析
Apr 21 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数组去重的函数代码
2013/02/03 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
PHP _construct()函数讲解
2019/02/03 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
python从网络读取图片并直接进行处理的方法
2015/05/22 Python
python递归全排列实现方法
2018/08/18 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
什么是岗位职责
2013/11/12 职场文书
公务员年终个人总结
2015/02/12 职场文书
端午节寄语2015
2015/03/23 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
教师创先争优承诺书
2015/04/27 职场文书
辞职申请书范本
2019/05/20 职场文书
详解PyTorch模型保存与加载
2022/04/28 Python
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers