python数据分析scipy和matplotlib(三)
Scipy
- 在numpy基础上增加了众多的数学、科学及工程常用的库函数;
- 线性代数、常微分方程求解、信号处理、图像处理、稀疏矩阵等;
Matplotlib
- 用于创建出版质量图表的绘图工具库;
- 目的是为python构建一个Matlab式的绘图接口;
- import matplotlib.pyplot as plt,pyplot模块包含了常用的matplotlib API函数;
- figure, Matplotlib的图像均位于figure对象中;
- subplot,figure.add_subplot(a,b,c),a、b表示分割成a*b的区域,c表示当前选中要操作的区域(从1开始编号);
# 引入matplotlib包
import matplotlib.pyplot as plt
# 创建figure
fig = plt.figure() ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
ax4 = fig.add_subplot(2,2,4) # 在subplot上作图
import numpy as np random_arr = np.random.randn(100)
#print random_arr # 默认是在最后一次使用subplot的位置上作图
plt.plot(random_arr)
plt.show()
- 执行结果:

说明:figure.add_subplot(a,b,c)返回的是AxesSubplot对象,plot绘图的区域是最后一次指定subplot的位置。
subplot结合scipy绘制统计图
- 正态分布,scipy.stats.norm.pdf
- 正态直方图,scipy.stats.norm.rvs
import scipy as sp
from scipy import stats
import matplotlib.pyplot as plt
import numpy as np x = np.linspace(-5, 15, 50)
# print x.shape # 绘制高斯分布
plt.plot(x, sp.stats.norm.pdf(x=x, loc=5, scale=2)) # 叠加直方图
plt.hist(sp.stats.norm.rvs(loc=5, scale=2, size=200), bins=50, normed=True, color='red', alpha=0.5)
plt.show()
- 执行结果:

subplot直方图hist
# 绘制直方图
import matplotlib.pyplot as plt
import numpy as np
plt.hist(np.random.randn(100), bins=10, color='b', alpha=0.3)
plt.show()
参数:np.random.randn(100) 生成随机100个数据,bins分成10组,color颜色为blue蓝色,alpha为透明度

subplot散点图scatter
import matplotlib.pyplot as plt
import numpy as np
# 绘制散点图
x = np.arange(50)
y = x + 5 * np.random.rand(50)
plt.scatter(x, y)
plt.show()

subplot柱状图bar
import matplotlib.pyplot as plt
import numpy as np
# 柱状图
x = np.arange(5)
y1, y2 = np.random.randint(1, 25, size=(2, 5))
width = 0.25
ax = plt.subplot(1,1,1)
ax.bar(x, y1, width, color='r')
ax.bar(x+width, y2, width, color='g')
ax.set_xticks(x+width)
ax.set_xticklabels(['a', 'b', 'c', 'd', 'e'])
plt.show()

subplot矩阵绘图
import matplotlib.pyplot as plt
import numpy as np
m = np.random.rand(10,10)
plt.imshow(m, interpolation='nearest', cmap=plt.cm.ocean)
plt.colorbar()
plt.show()

plt.subplot()
同时返回新创建的figure和subplot对象数组
import matplotlib.pyplot as plt
import numpy as np
fig, subplot_arr = plt.subplots(2,2)
subplot_arr[0,0].hist(np.random.randn(100), bins=10, color='b', alpha=0.3)
plt.show()

学习参考
Matplotlib示例库 http://matplotlib.org/gallery.html
python数据分析scipy和matplotlib(三)的更多相关文章
- Python数据分析----scipy稀疏矩阵
一.sparse模块: python中scipy模块中,有一个模块叫sparse模块,就是专门为了解决稀疏矩阵而生.本文的大部分内容,其实就是基于sparse模块而来的 导入模块:from scipy ...
- python数据分析三剑客之: matplotlib绘图模块
matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 - x轴和y轴 axis 水平和垂直的轴线 - x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...
- Python数据分析与展示[第三周](pandas简介与数据创建)
第三周的课程pandas 分析数据 http://pandas.pydata.org import pandas as pd 常与numpy matplotlib 一块定义 d=pd.Series(r ...
- python数据分析及展示(三)
一.Pandas库入门 1. Pandas库的介绍 http://pandas.pydata.org Pandas是Python第三方库,提供高性能易用数据类型和分析工具 import pandas ...
- $python数据分析基础——初识matplotlib库
基本用法 import numpy as np import matplotlib.pyplot as plt # 年份 year = [1950,1970,1990,2010] # 全球总人口(单位 ...
- Python数据分析与展示[第三周](pandas数据类型操作)
数据类型操作 如何改变Series/ DataFrame 对象 增加或重排:重新索引 删除:drop 重新索引 .reindex() reindex() 能够改变或重排Series和DataFrame ...
- Python数据分析与展示[第三周](pandas数据特征分析单元8)
数据理解 基本统计 分布/累计统计 数据特征 数据挖掘 数据排序 操作索引的排序 .sort_index() 在指定轴上排序,默认升序 参数 axis=0 column ascending=True ...
- python数据分析01准备工作
第1章 准备工作 1.1 本书的内容 本书讲的是利用Python进行数据控制.处理.整理.分析等方面的具体细节和基本要点.我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你 ...
- 小白学 Python 数据分析(18):Matplotlib(三)常用图表(上)
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
随机推荐
- 【LG1368】工艺
[LG1368]工艺 题面 洛谷 题解 好套路的一道题... 我们倍长这个字符串,然后我们要查询的串就为这个倍长过后串的长度\(n\)一个子串,要求字典序最小 然后就可以非常愉快地后缀排序了 后缀的话 ...
- apache目录别名
#默认家目录DocumentRoot "/var/www/html"<Directory "/var/www"> AllowOverride Non ...
- .netCoreMVC添加数据仓储
在上一篇关于CodeFirst从零搭建ASP.NETCore2.0中搭建起了完整.netCoreMVC项目,在这一篇中将实现如何注册service服务和Repository数据仓储到web中实现数据的 ...
- python中字符串的常见操作方法
1. 字符串概念,字符串是一个容器,包含若干个字符并按照一定的顺序组织成一个整体.字符串支持索引操作. 2. 创建字符串基本语法 变量名 = "字符串信息" 变量名 = '字符串信 ...
- 按键精灵对APP自动化测试(下)
上一篇介绍了安卓app上使用按键精灵的实践,这里再来说说苹果上的app. 由于iOS相关工具对操作系统的限制,目前在iOS10.0.2系统上应用成功. 二. 苹果手机按键精灵APP录制 适 ...
- Tortoisegit生成SSH密钥一次性输入密码
一.找到Tortoisegit 的安装目录,进入bin目录下,找到puttygen.exe并打开,点击Generate按钮,会看到上面出现绿色滚动条,此时要不停移动鼠标,进度会比较快,完成后,就会看到 ...
- net面试宝典
ASP.NET常见面试题及答案 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. ...
- CSAPP lab2 二进制拆弹 binary bombs phase_6
给出对应于7个阶段的7篇博客 phase_1 https://www.cnblogs.com/wkfvawl/p/10632044.htmlphase_2 https://www.cnblogs. ...
- 《Linux内核分析》第二周学习小结 操作系统是如何工作的?
郝智宇 无转载 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.函数调用堆栈: 1.计算机是 ...
- vs2013的安装与使用 测试
vs2013软件我去年已经用过,可是当时只是鉴于对于c语言的编程,并没有觉得好用,况且好多的功能自并没有去深入研究,所以当时对于这个软件还是排斥的.安装的时候是别人帮我装的,所以并没有在安装的过程有问 ...