matplotlib在python上绘制3D散点图实例详解


Posted in Python onDecember 09, 2017

大家可以先参考官方演示文档:

效果图:

matplotlib在python上绘制3D散点图实例详解

'''
==============
3D scatterplot
==============
Demonstration of a basic scatterplot in 3D.
'''
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

def randrange(n, vmin, vmax):
 '''
 Helper function to make an array of random numbers having shape (n, )
 with each number distributed Uniform(vmin, vmax).
 '''
 return (vmax - vmin)*np.random.rand(n) + vmin

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

n = 100

# For each set of style and range settings, plot n random points in the box
# defined by x in [23, 32], y in [0, 100], z in [zlow, zhigh].
for c, m, zlow, zhigh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
 xs = randrange(n, 23, 32)
 ys = randrange(n, 0, 100)
 zs = randrange(n, zlow, zhigh)
 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()

以上是官网上的代码示例及演示结果,下面分享下本文代码示例。

本实例需要导入第三包:

import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D

然后绘图:

ax = plt.figure().add_subplot(111, projection = '3d') 
#基于ax变量绘制三维图 
#xs表示x方向的变量 
#ys表示y方向的变量 
#zs表示z方向的变量,这三个方向上的变量都可以用list的形式表示 
#m表示点的形式,o是圆形的点,^是三角形(marker) 
#c表示颜色(color for short) 
ax.scatter(xs, ys, zs, c = 'r', marker = '^') #点为红色三角形 
 
#设置坐标轴 
ax.set_xlabel('X Label') 
ax.set_ylabel('Y Label') 
ax.set_zlabel('Z Label') 
 
#显示图像 
plt.show()

注:

上面的

ax = plt.figure().add_subplot(111, projection = '3d')

是下面代码的略写

fig = plt.figure() 
ax = fig.add_subplot(111, projection = '3d')

总结

以上就是本文关于matplotlib在python上绘制3D散点图实例详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
在Python中操作字符串之replace()方法的使用
May 19 Python
Python中List.count()方法的使用教程
May 20 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
Aug 13 Python
pandas实现将日期转换成timestamp
Dec 07 Python
基于PyQT实现区分左键双击和单击
May 19 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 Python
tensorflow+k-means聚类简单实现猫狗图像分类的方法
Apr 28 Python
K-近邻算法的python实现代码分享
Dec 09 #Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
Dec 09 #Python
python学习之matplotlib绘制散点图实例
Dec 09 #Python
Python学习pygal绘制线图代码分享
Dec 09 #Python
Python编程pygal绘图实例之XY线
Dec 09 #Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
Dec 09 #Python
基于Python中capitalize()与title()的区别详解
Dec 09 #Python
You might like
使用adodb lite解决问题
2006/12/31 PHP
浅谈php命令行用法
2015/02/04 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
CI框架的安全性分析
2016/05/18 PHP
php接口技术实例详解
2016/12/07 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
JavaScript利用正则表达式去除日期中的“-”
2014/07/01 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
JS绘图Flot如何实现动态可刷新曲线图
2020/10/16 Javascript
python 图片验证码代码
2008/12/07 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
使用Python 正则匹配两个特定字符之间的字符方法
2018/12/24 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
python与js主要区别点总结
2020/09/13 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
医学专业毕业生推荐信
2013/11/14 职场文书
自我鉴定标准格式
2014/03/19 职场文书
小学数学教研活动总结
2014/07/01 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang