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中encode()方法的使用简介
May 18 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
Jul 15 Python
python获取list下标及其值的简单方法
Sep 12 Python
pyqt5 从本地选择图片 并显示在label上的实例
Jun 13 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
Python面向对象中类(class)的简单理解与用法分析
Feb 21 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 Python
Pycharm常用快捷键总结及配置方法
Nov 14 Python
python 实现性别识别
Nov 21 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 Python
Python Pandas数据分析之iloc和loc的用法详解
Nov 11 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.ini中文版(1)
2006/10/09 PHP
html中select语句读取mysql表中内容
2006/10/09 PHP
php smarty的预保留变量总结
2008/12/04 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
PHP的5个安全措施小结
2012/07/17 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
php修改数组键名的方法示例
2017/04/15 PHP
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
2016/11/03 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python OS模块实例详解
2019/04/15 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
vue+django实现下载文件的示例
2021/03/24 Vue.js
党员群众路线承诺书
2014/05/20 职场文书
公司授权委托书范文
2014/08/02 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
教导处教学工作总结
2015/08/12 职场文书