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创建声明性迷你语言的教程
Apr 13 Python
python使用pil生成图片验证码的方法
May 08 Python
Python实现将文本生成二维码的方法示例
Jul 18 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
Apr 21 Python
如何使用Python自动控制windows桌面
Jul 11 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
Python自动化测试笔试面试题精选
Mar 12 Python
python连接mysql有哪些方法
Jun 24 Python
如何使用 Python 读取文件和照片的创建日期
Sep 05 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 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
通过html表格发电子邮件
2006/10/09 PHP
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
PHP set_error_handler()函数使用详解(示例)
2013/11/12 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
鼠标事件延时切换插件
2011/03/12 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
JS实现页面打印功能
2017/03/16 Javascript
老生常谈js数据类型
2017/08/03 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
html5.2 dialog简介详解
2018/02/27 HTML / CSS
大学生职业生涯规划书范文
2014/01/04 职场文书
主持人演讲稿
2014/05/13 职场文书
大连星海广场导游词
2015/02/10 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
预备党员表决心的话
2015/09/22 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python