python matplotlib模块——绘制三维图形、三维数据散点图
2015-09-24 16:55
1556 查看
python matplotlib模块,是扩展的MATLAB的一个绘图工具库。他可以绘制各种图形,可是最近最的一个小程序,得到一些三维的数据点图,就学习了下python中的matplotlib模块,如何绘制三维图形。
初学者,可能对这些第三方库安装有一定的小问题,对于一些安装第三方库经验较少的朋友,建议使用 Anaconda ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择python 2.7 或是 3.5 的就可以了:
https://www.continuum.io
首先提醒注意,以下两个函数的区别:
和
效果展示:
http://blog.csdn.net/Eddy_zheng/article/details/50496194
效果:
上面就是学习区分了下两个函数,当时还被小困惑了下,希望对大家有所帮助。其实里面还有好多参数设置,比如说改变颜色,包括绘制点图的点的形状等都是可以改变的,有需要的大家可以自己看看这个函数,学习下(help(对应的function))。
初学者,可能对这些第三方库安装有一定的小问题,对于一些安装第三方库经验较少的朋友,建议使用 Anaconda ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择python 2.7 或是 3.5 的就可以了:
https://www.continuum.io
首先提醒注意,以下两个函数的区别:
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') #绘面
和
ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r') #绘点
1、绘制3D曲面图
# -*- coding: utf-8 -*- """ Created on Thu Sep 24 16:17:13 2015 @author: Eddy_zheng """ from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.arange(-4, 4, 0.25) Y = np.arange(-4, 4, 0.25) X, Y = np.meshgrid(X, Y) R = np.sqrt(X**2 + Y**2) Z = np.sin(R) # 具体函数方法可用 help(function) 查看,如:help(ax.plot_surface) ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') plt.show()
效果展示:
2、绘制三维的散点图(通常用于表述一些数据点分布)
4a.mat 数据地址,找到4a.mat 下载即可:http://blog.csdn.net/Eddy_zheng/article/details/50496194
# -*- coding: utf-8 -*- """ Created on Thu Sep 24 16:37:21 2015 @author: Eddy_zheng """ import scipy.io as sio from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt mat1 = '4a.mat' #这是存放数据点的文件,需要它才可以画出来。上面有下载地址 data = sio.loadmat(mat1) m = data['data'] x,y,z = m[0],m[1],m[2] ax=plt.subplot(111,projection='3d') #创建一个三维的绘图工程 #将数据点分成三部分画,在颜色上有区分度 ax.scatter(x[:1000],y[:1000],z[:1000],c='y') #绘制数据点 ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r') ax.scatter(x[4000:],y[4000:],z[4000:],c='g') ax.set_zlabel('Z') #坐标轴 ax.set_ylabel('Y') ax.set_xlabel('X') plt.show()
效果:
上面就是学习区分了下两个函数,当时还被小困惑了下,希望对大家有所帮助。其实里面还有好多参数设置,比如说改变颜色,包括绘制点图的点的形状等都是可以改变的,有需要的大家可以自己看看这个函数,学习下(help(对应的function))。
相关文章推荐
- Python 3 抓取网页资源的 N 种方法
- 你可能不知道的python
- Python程序提示SyntaxError: invalid syntax错误
- Python爬取百度贴吧图片
- python:列表推导式,list comprehension
- python处理json
- [LeetCode]题解(python):018-4Sum
- Python 通过print_lol将数据保存到文件中
- python socket编程之select
- Json概述以及python对json的相关操作
- Python快速入门
- head first python读书笔记(十一)
- 猪猪侠那里弄的python递归脚本
- Python 网络爬虫 - 抓取糗事百科的段子(最新版)
- [LeetCode]题解(python):017-Letter Combinations of a Phone Number
- 【Python】BeautifulSoup文档(windows-pyhton2.7.10)
- python多进程(multiprocessing)
- 零基础学python-19.4 为什么要在意列表解析与序列映射函数map
- 零基础学python-19.4 为什么要在意列表解析与序列映射函数map
- python批量连接mysql