matplotlib入门--1(条形图, 直方图, 盒须图, 饼图)
作图首先要进行数据的输入,matplotlib包只提供作图相关功能,本身并没有数据读入、输出函数,针对各种试验或统计文本数据输入可以使用numpy提供的数据输入函数。
# -*- coding: gbk -*-
"""
Created on Sun Jan 11 11:17:42 2015 @author: zhang
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = [u'SimHei'] #生成数据
dataOut = np.arange(24).reshape(4, 6)
print(dataOut) #保存数据
np.savetxt('data.txt', dataOut, fmt = '%.1f') #读取数据
data = np.loadtxt('data.txt')
print(data)
plot 和 bar 函数
# -*- coding: gbk -*-
"""
Created on Sun Jan 11 11:33:14 2015 @author: zhang
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = [u'SimHei'] data = np.random.randint(1, 11, 5)
x = np.arange(len(data)) plt.plot(x, data, color = 'r')
plt.bar(x, data, alpha = .5, color = 'g') plt.show()
结果图片

饼图
# -*- coding: gbk -*-
"""
Created on Sun Jan 11 11:33:14 2015 @author: zhang
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = [u'SimHei'] data = np.random.randint(1, 11, 5)
x = np.arange(len(data)) #plt.plot(x, data, color = 'r')
#plt.bar(x, data, alpha = .5, color = 'g')
plt.pie(data, explode = [0,0,.2, 0, 0]) plt.show

在实际工作中经常要对多组数据进行对比分析,这样需要在一个图表里表示出多个数据集。plot函数多数据集表示方法:
# -*- coding: gbk -*-
"""
Created on Sun Jan 11 11:51:41 2015 @author: zhang
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = [u'SimHei'] data = np.random.randint(1, 5, (5, 2))
x = np.arange(len(data)) plt.plot(x, data[:, 0], '--', color = 'm')
plt.plot(x, data[:, 1], '-.', color = 'c') plt.show()

这里用到了matplotlib中defered rendering的概念,它是指在绘图过程中,只有你调用到plt.plot函数是其它的绘图指令才会起效。
也可以通过对条形图的定制实现数据对比,主要有这几种类型 multy bar chart;stack bar chart和back to back bar chart
# -*- coding: gbk -*-
"""
Created on Sun Jan 11 12:03:57 2015 @author: zhang
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False data = np.random.randint(1, 5, [3, 4])
index = np.arange(data.shape[1])
color_index = ['r', 'g', 'b'] fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize = (5, 12)) for i in range(data.shape[0]):
ax1.bar(index + i*.25 + .1, data[i], width = .25, color = color_index[i],\
alpha = .5) for i in range(data.shape[0]):
ax2.bar(index + .25, data[i], width = .5, color = color_index[i],\
bottom = np.sum(data[:i], axis = 0), alpha = .7) ax3.barh(index, data[0], color = 'r', alpha = .5)
ax3.barh(index, -data[1], color = 'b', alpha = .5) plt.show()
plt.savefig('complex_bar_chart')

统计中常用的两种图标是直方图和盒须图,matplotlib中有针对这两种图表的专门函数:hist和boxplot
# -*- coding: gbk -*-
"""
Created on Sun Jan 11 12:29:34 2015 @author: zhang
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = [u'SimHei'] data = np.random.randn(100) fig, (ax1, ax2) = plt.subplots(1, 2, figsize = (8, 4)) ax1.hist(data)
ax2.boxplot(data) plt.savefig('hist_boxplot')
plt.show()

本文讲到的所有matplotlib命令都有非常丰富的定制参数,我会在后面文章中讲到,你也可以查看帮助文档学习。
matplotlib入门--1(条形图, 直方图, 盒须图, 饼图)的更多相关文章
- Qt数据可视化(散点图、折线图、柱状图、盒须图、饼状图、雷达图)开发实例
目录 散点图 折线图 柱状图 水平柱状图 水平堆叠图 水平百分比柱状图 盒须图 饼状图 雷达图 Qt散点图.折线图.柱状图.盒须图.饼状图.雷达图开发实例. 在开发过程中我们会使用多各种各样的图 ...
- python数据处理-matplotlib入门(4)-条形图和直方图
摘要:先介绍条形图直方图,然后用随机数生成一系列数据,保存到列表中,最后统计出相关随机数据的概率并展示 前述介绍了由点进行划线形成的拆线图和散点形成的曲线图,连点成线,主要用到了matplotlib中 ...
- 06. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图
1.基本图表绘制 plt.plot() 图表类别:线形图.柱状图.密度图,以横纵坐标两个维度为主同时可延展出多种其他图表样式 plt.plot(kind='line', ax=None, figsiz ...
- 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图
利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import pandas as pdimport matplotlib. ...
- 绘图神器-matplotlib入门
这次,让我们使用一个非常有名且十分有趣的玩意儿来完成今天的任务,它就是jupyter. 一.安装jupyter matplotlib入门之前,先安装好jupyter.这里只提供最为方便快捷的安装方式: ...
- Matplotlib 入门
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
- Matplotlib基本图形之直方图
Matplotlib基本图形之直方图 直方图特点 由一系列高度不等的纵向条形组成,表示数据分布情况例如年级同学身高分布注意与条形图的区别 示例代码: import osimport numpy as ...
- Python 绘图库Matplotlib入门教程
0 简单介绍 Matplotlib是一个Python语言的2D绘图库,它支持各种平台,并且功能强大,能够轻易绘制出各种专业的图像. 1 安装 pip install matplotlib 2 入门代码 ...
- 用matplotlib制作的比较满意的蜡烛图
用matplotlib制作的比较满意的蜡烛图 2D图形制作包, 功能强大, 习练了很久, 终于搞定了一个比较满意的脚本. 特点: 使用方面要非常简单 绘制出来的图要非常的满意, 具有如下的特点 时间和 ...
随机推荐
- QDomDocument Access violation writing location
今天犯了一个非常2的错误! 为了将面板参数保存起来,选择用QDomDocument构造Dom树,然后用doc.toString()方法返回符合xml格式的QString.如: QString CutF ...
- Java---类反射(1)---类反射入门和基础
什么是类反射 ☆什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方 ...
- php 利用第三方软件进行网页快照
网页快照有很多方法,具体的大家可以百度下.这里我复制一位别人的. 这里我只说下利用第三方软件(Web2Pic_Pro)实现. (1). 下载web2pic_pro软件.下载地址 http://isha ...
- UITextField知多少
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, ...
- [转] boost库的Singleton的实现以及static成员的初始化问题
http://www.cnblogs.com/kex1n/archive/2011/04/05/2006194.html effectie c++的条款4中提到: (global对象,定义在names ...
- 《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式
第1章 Activity的生命周期和启动模式 1.1 Activity生命周期全面分析 1.1.1 典型情况下生命周期分析(1)一般情况下,当当前Activity从不可见重新变为可见状态时,onRes ...
- 详解Android Handler的使用-别说你不懂handler(转)
我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念 Handler主 ...
- RHEL7下PXE+Apache+Kickstart无人值守安装操作系统
RHEL7下PXE+Apache+Kickstart无人值守安装操作系统 1.配置yum源 vim /etc/yum.repos.d/development.repo [development] na ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- okhttp 基本介绍
资料汇总 官网:http://square.github.io/okhttp/ 文档:https://github.com/square/okhttp/wiki GitHub:https://gith ...