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 相关文章推荐
下载给定网页上图片的方法
Feb 18 Python
Python urlopen()函数 示例分享
Jun 12 Python
Python实现全角半角转换的方法
Aug 18 Python
Python中用format函数格式化字符串的用法
Apr 08 Python
Python中的各种装饰器详解
Apr 11 Python
python实现telnet客户端的方法
Apr 15 Python
Python实现Logger打印功能的方法详解
Sep 01 Python
pandas的object对象转时间对象的方法
Apr 11 Python
深入浅析Python2.x和3.x版本的主要区别
Nov 30 Python
python常用函数与用法示例
Jul 02 Python
Python利用Scrapy框架爬取豆瓣电影示例
Jan 17 Python
基于梯度爆炸的解决方法:clip gradient
Feb 04 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实现的简单mock json脚本分享
2015/02/10 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
javascript 二分法(数组array)
2010/04/24 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
Python实现list反转实例汇总
2014/11/11 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
python多进程并行代码实例
2019/09/30 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
给定一个时间点,希望得到其他时间点
2013/11/07 面试题
中秋节礼品促销方案
2014/02/02 职场文书
《要下雨了》教学反思
2014/02/17 职场文书
社保委托书怎么写
2014/08/02 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书