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实现3行代码解简单的一元一次方程
Aug 18 Python
Python中对列表排序实例
Jan 04 Python
Python OS模块常用函数说明
May 23 Python
详解python eval函数的妙用
Nov 16 Python
wxPython之解决闪烁的问题
Jan 15 Python
Python获取指定文件夹下的文件名的方法
Feb 06 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
python shell命令行中import多层目录下的模块操作
Mar 09 Python
Python OpenCV实现测量图片物体宽度
May 27 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 Python
python 爬取吉首大学网站成绩单
Jun 02 Python
Python异常类型以及处理方法汇总
Jun 05 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
jQuery提交多个表单的小例子
2013/06/30 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
vue中的inject学习教程
2019/04/24 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
Python 条件判断的缩写方法
2008/09/06 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
HTML5的革新 结构之美
2011/06/20 HTML / CSS
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
三维科技面试题
2013/07/27 面试题
机械工程师求职自我评价
2013/09/23 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
地心历险记观后感
2015/06/15 职场文书
三八节活动主持词
2015/07/04 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
TypeScript 内置高级类型编程示例
2022/09/23 Javascript