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(三)的更多相关文章

  1. Python数据分析----scipy稀疏矩阵

    一.sparse模块: python中scipy模块中,有一个模块叫sparse模块,就是专门为了解决稀疏矩阵而生.本文的大部分内容,其实就是基于sparse模块而来的 导入模块:from scipy ...

  2. python数据分析三剑客之: matplotlib绘图模块

    matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 - x轴和y轴 axis 水平和垂直的轴线 - x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...

  3. Python数据分析与展示[第三周](pandas简介与数据创建)

    第三周的课程pandas 分析数据 http://pandas.pydata.org import pandas as pd 常与numpy matplotlib 一块定义 d=pd.Series(r ...

  4. python数据分析及展示(三)

    一.Pandas库入门 1. Pandas库的介绍 http://pandas.pydata.org Pandas是Python第三方库,提供高性能易用数据类型和分析工具 import pandas ...

  5. $python数据分析基础——初识matplotlib库

    基本用法 import numpy as np import matplotlib.pyplot as plt # 年份 year = [1950,1970,1990,2010] # 全球总人口(单位 ...

  6. Python数据分析与展示[第三周](pandas数据类型操作)

    数据类型操作 如何改变Series/ DataFrame 对象 增加或重排:重新索引 删除:drop 重新索引 .reindex() reindex() 能够改变或重排Series和DataFrame ...

  7. Python数据分析与展示[第三周](pandas数据特征分析单元8)

    数据理解 基本统计 分布/累计统计 数据特征 数据挖掘 数据排序 操作索引的排序 .sort_index() 在指定轴上排序,默认升序 参数 axis=0 column ascending=True ...

  8. python数据分析01准备工作

    第1章 准备工作 1.1 本书的内容 本书讲的是利用Python进行数据控制.处理.整理.分析等方面的具体细节和基本要点.我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你 ...

  9. 小白学 Python 数据分析(18):Matplotlib(三)常用图表(上)

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

随机推荐

  1. 28 个 C/C++ 开源 JSON 程序库性能及标准符合程度评测

    28 个 C/C++ 开源 JSON 程序库性能及标准符合程度评测 坊间有非常多的 C/C++ JSON 库,怎么选择是一个难题. [nativejson-benchmark](https://git ...

  2. 初识TPOT:一个基于Python的自动化机器学习开发工具

    1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Pyt ...

  3. SSISDB4:当前正在运行的Package及其Executable

    SSISDB 系列随笔汇总: SSISDB1:使用SSISDB管理Package SSISDB2:SSIS工程的操作实例 SSISDB3:Package的执行实例 SSISDB4:当前正在运行的Pac ...

  4. chrome浏览器插件 Octotree 让你浏览GitHub的时候像IDE 一样提供项目目录

    GitHub 作为代码托管平台,竟然没有提供项目目录,方便用户在线快速浏览项目结构.所以,在线分析项目源码就会变得很繁琐,必须一层一层点击,然后再一次一次地向上返回.要知道,本来 GitHub 网站在 ...

  5. Redux系列01:从一个简单例子了解action、store、reducer

    其实,redux的核心概念就是store.action.reducer,从调用关系来看如下所示 store.dispatch(action) --> reducer(state, action) ...

  6. DRF框架QQ登录功能

    用户模块---QQ登录 流程图 QQ登录文档:http://wiki.connect.qq.com/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_oauth2-0 流程简述 ...

  7. pycharm 调试 scrapy

    http://blog.csdn.net/shijichao2/article/details/61940931

  8. 作业要求 20181204-5 Final阶段贡献分配规则及实施

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2479 贡献规则 贡献分分配规则: 组内一共八名同学,贡献分共计80分. ...

  9. Backbone实践案例

    By:软件11 王思伦 2013-10-4 Backbone简述: Backbone基于MVC架构,用于开发重量级Javascript应用的框架. 如上文所述,Backbone包含多种类,但主要包含了 ...

  10. Alpha版本项目展示得分

    团队名称 得分 newbe 80 C705 100 ourteam 60 sevens 50 sixsix 190 dxteam 75 hots 200 Echo 90