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类型强制转换long to int的代码
Feb 10 Python
浅谈Python程序与C++程序的联合使用
Apr 07 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
Python实现将16进制字符串转化为ascii字符的方法分析
Jul 21 Python
python合并同类型excel表格的方法
Apr 01 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
python实现文件的备份流程详解
Jun 18 Python
PyQt5笔记之弹出窗口大全
Jun 20 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 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
用PHP和ACCESS写聊天室(六)
2006/10/09 PHP
php文件操作实例代码
2012/05/10 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php之readdir函数用法实例
2014/11/13 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
[02:53]2018年度DOTA2最佳战队-完美盛典
2018/12/17 DOTA
在Django框架中编写Context处理器的方法
2015/07/20 Python
python批量制作雷达图的实现方法
2016/07/26 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
python适合做数据挖掘吗
2020/06/16 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
大学生求职自我评价
2014/01/16 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
2014年行政部工作总结
2014/11/19 职场文书
党员带头倡议书
2015/04/29 职场文书
雷锋观后感
2015/06/10 职场文书
4种非常实用的python内置数据结构
2021/04/28 Python
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle