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 相关文章推荐
pycharm 使用心得(六)进行简单的数据库管理
Jun 06 Python
windows下python 3.6.4安装配置图文教程
Aug 21 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
详解用Python实现自动化监控远程服务器
May 18 Python
python读取大文件越来越慢的原因与解决
Aug 08 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
python如何进行矩阵运算
Jun 05 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 Python
Python制作表白爱心合集
Jan 22 Python
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
Apr 20 Python
如何利用python创作字符画
Jun 25 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
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
简单的js分页脚本
2009/05/21 Javascript
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
JS实现滑动插件
2020/01/15 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
深入理解Django的自定义过滤器
2017/10/17 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
HTML5地理定位实例
2014/10/15 HTML / CSS
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
经济担保书范文
2014/04/02 职场文书
党课心得体会范文
2014/09/09 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
煤矿安全保证书
2015/02/27 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
anaconda python3.8安装后降级
2021/06/11 Python
nginx 配置缓存
2022/05/11 Servers
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技