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中isalnum()方法的使用
May 18 Python
Python中操作文件之write()方法的使用教程
May 25 Python
Python基于PycURL实现POST的方法
Jul 25 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
python绘制直方图和密度图的实例
Jul 08 Python
mac在matplotlib中显示中文的操作方法
Mar 06 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
Django正则URL匹配实现流程解析
Nov 13 Python
python 模拟登陆163邮箱
Dec 15 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 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开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
Javascript中的isNaN函数使用说明
2011/11/10 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
一篇文章掌握RequireJS常用知识
2016/01/26 Javascript
webpack3之loader全解析
2017/10/26 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
深入讲解Python编程中的字符串
2015/10/14 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
2016/07/12 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
python僵尸进程产生的原因
2017/07/21 Python
python批量创建指定名称的文件夹
2019/03/21 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
批评与自我批评范文
2014/10/15 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
小学生作文评语集锦
2014/12/25 职场文书
新闻稿标题
2015/07/18 职场文书
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
使用python求解迷宫问题的三种实现方法
2022/03/17 Python
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android
docker compose 部署 golang 的 Athens 私有代理问题
2022/04/28 Servers
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers