matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作。每个pyplot函数对一幅图片(figure)做一些改动:比如创建新图片,在图片创建一个新的作图区域(plotting area),在一个作图区域内画直线,给图添加标签(label)等。matplotlib.pyplot是有状态的,亦即它会保存当前图片和作图区域的状态,新的作图函数会作用在当前图片的状态基础之上。

(1)使用plot()函数画图
plot()为画线函数,下面的小例子给ploy()一个列表数据[1,2,3,4],matplotlib假设它是y轴的数值序列,然后会自动产生x轴的值,因为python是从0作为起始的,所以这里x轴的序列对应为[0,1,2,3]。

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('numbers')  #给y轴加注释
plt.show()

plot()还可以接受x,y成对的参数,还有一个可选的参数是表示线的标记和颜色,plot函数默认画线是蓝色实线,即字符串'b-',你可以选择自己喜欢的标记和颜色。

import matplotlib.pyplot as plt
plt.plot([1,2,3,4], [1,8,27,64], 'ro')
plt.axis([0, 6, 0, 80])
plt.show()

axis()函数给出了形如[xmin,xmax,ymin,ymax]的列表,指定了坐标轴的范围。给出一个numpy数组(arrays),给出不同的线。

import numpy as np
import matplotlib.pyplot as plt
f= np.arange(0, 5, 0.1)
# red dashes, blue squares and green triangles
plt.plot(f, f, 'r--', f, f**2, 'bs', f, f**3, 'g^')
plt.show()

(2)线的属性
可以用不同方式对线的属性进行设置:
用参数的关键字:plt.plot(x, y, linewidth=2.0)通过这种方式修改线宽;

使用Line2D实例的set方法:
plot函数返回一个线的列表,比如line1,line2 = plot(x1,y1,x2,y2)。由于我们只有一条直线,对于长度为1的列表(list),我们可以用逗号,来得到列表第一个元素

使用pyplot的setp()命令
还可以用setp()命令来进行设置,该命令可以对一个列表或者单个对象进行设置,并且提供了matlab式的使用方法

(3)多个图像
pyplot和MATLAB一样,都有当前图像和当前坐标的概念,所有命令都是对当前的坐标进行设置。

import numpy as np
import matplotlib.pyplot as plt
def f(t):return np.exp(-t) * np.cos(2*np.pi*t)
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
plt.figure(1)
plt.subplot(211)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()

subplot()命令会指定一个坐标系,默认是subplot(111),111参数分别说明行的数目numrows,列的数目numcols,第几个图像fignum(fignum的范围从1到numrows*numcols)。
subplot(211)指定显示两行,每行一图,接下来为第一幅图像。

(4)为图像做文本说明
text()命令可以用于在任意位置添加文本,而xlabel(),ylabel(),title()用来在指定位置添加文本。所有的text()命令返回一个matplotlib.text.Text实例,也可以通过关键字或者setp()函数对文本的属性进行设置。

import numpy as np
import pylab as pldata = np.random.normal(0,2,100)
# make a histogram of the data array
pl.hist(data)# make plot labels
pl.xlabel('distribute')
pl.ylabel('Probability')
pl.title('Histogram')
pl.text(0, 40, r'$\mu=0,\ \sigma=2$')
pl.axis([-10, 10, 0, 50])
#pl.grid(True)
pl.show()

matplotlib从1.1.0版本以后就开始支持绘制动画,网取的示例:

import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
# First set up the figure, the axis, and the plot element we want to animate
fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))
line, = ax.plot([], [], lw=2)
# initialization function: plot the background of each frame
def init(): line.set_data([], []) return line,
# animation function. This is called sequentially
# note: i is framenumber
def animate(i): x = np.linspace(0, 2, 1000) y = np.sin(2 * np.pi * (x - 0.01 * i)) line.set_data(x, y) return line,
# call the animator. blit=True means only re-draw the parts that have changed.
anim = animation.FuncAnimation(fig, animate, init_func=init, frames=200, interval=20, blit=True)
#anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
plt.show() 

关于导出GIF动态图,参见:http://www.hankcs.com/ml/using-matplotlib-and-imagemagick-to-realize-the-algorithm-visualization-and-gif-export.html,

还没试过。

参考:

http://www.cnblogs.com/wei-li/archive/2012/05/23/2506940.html

http://www.tuicool.com/articles/7zYNZfI

http://www.cnblogs.com/kemaswill/archive/2012/12/07/2807963.html

python数据分析之(6)简单绘图matplotlib.pyplot相关推荐

  1. Python 数据分析与展示笔记3 -- Matplotlib 库基础

    Python 数据分析与展示笔记3 – Matplotlib 库基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展 ...

  2. python数据分析的回归方程的简单讲解

    python数据分析的回归方程的简单讲解(第一种手动实现, 第二种导入库实现) 文章目录 python数据分析的回归方程的简单讲解(第一种手动实现, 第二种导入库实现) 一.使用步骤 1.第一种手动实 ...

  3. Python数据分析三剑客学习笔记Day6——matplotlib包的使用:数据可视化,简单绘制柱状图、曲线图、饼图、频率分布直方图

    本文是视频Python数据分析三剑客 数学建模基础 numpy.pandas.matplotlib的学习笔记. -------------------------------------------- ...

  4. python 数据分析工具之 numpy pandas matplotlib

    作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...

  5. python数据分析(五)——numpy+matplotlib实例

    系列文章: python数据分析(一)--numpy数组的创建 python数据分析(二)--numpy数组的计算 python数据分析(三)--numpy读取本地数据和索引 python数据分析(四 ...

  6. Python数据分析【1】:matplotlib库详细教程

    Python数据分析:matplotlib库详细教程 一.基本介绍 1. 数据分析 2. 环境安装 二.matplotlib 1. 基本介绍 2. 基本要点 3. 散点图/直方图/柱状图 4. 画图工 ...

  7. 【Python数据分析】四级成绩分布 -matplotlib,xlrd 应用

    最近获得了一些四级成绩数据,大概500多个,于是突发奇想是否能够看看这些成绩数据是否满足所谓的正态分布呢?说干就干,于是有了这篇文章. 文章顺带介绍了xlrd模块的一些用法和matplotlib画自定 ...

  8. matplotlib plot 分组_小白学 Python 数据分析(16):Matplotlib(一)坐标系

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

  9. python 直方图每个bin中的值_【Python数据分析】四级成绩分布 -matplotlib,xlrd 应用...

    标签: 最近获得了一些四级成绩数据,大概500多个,于是突发奇想是否能够看看这些成绩数据是否满足所谓的正态分布呢?说干就干,于是有了这篇文章. 文章顺带介绍了xlrd模块的一些用法和matplotli ...

  10. python数据分析与机器学习(Numpy,Pandas,Matplotlib)

    机器学习怎么学? 机器学习包含数学原理推导和实际应用技巧,所以需要清楚算法的推导过程和如何应用. 深度学习是机器学习中神经网络算法的延伸,在计算机视觉和自然语言处理中应用更厉害一些. 自己从头开始做笔 ...

最新文章

  1. 某程序员感叹:本是家族边缘人,但亲戚得知自己年入二百万后,都上来巴结!...
  2. 无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件...
  3. Spring Boot中如何干掉过多的if else!
  4. 虚拟机的性能监控与故障处理——jps,jstat,jinfo,jmap,jhat,jstack
  5. Python学习笔记之类(四)
  6. 基于tomcat5.5的数据库连接池环境设置(省的以后找系列)
  7. python创建树_python – 从SQLalchemy中的自引用表创建树
  8. ALEIYE 2.0发布 首创RET关键事件功能
  9. 开源 java CMS - FreeCMS2.7 单位管理
  10. 单片机51keil编程流程
  11. ionic—alert弹出框
  12. MovieLens推荐系统数据集官方文档+解释
  13. 工作说明书SOW(Statement Of Work)
  14. Iconfont 替代品网站 图标网站推荐
  15. 计算机教师个人品德事迹材料,教师个人品德事迹材料
  16. Ubuntu16(ROS_Kinetic)海康威视网络摄像机(单目)内参标定
  17. 【ATF】庄卓然(南天):掌上精彩-连接过去与未来
  18. C语言中 枚举变量与枚举值,枚举类型变量再赋值问题
  19. DX9与DX11shader编写中SV_POSITION与POSITION和SV_Target与COLOR之间的区别(二)
  20. java+selenium 获取QQ邮箱所有邮件列表信息以及某个邮件信息(springboot)

热门文章

  1. html引用ttf字体文件
  2. 面向对象组件开发一个弹窗
  3. windows下搭建ffmpeg环境
  4. 精选13款Spring Boot 优质GitHub开源项目!
  5. 使用electron-builder对Electron项目进行打包
  6. SqlServer将数据表中的数据生成添加语句
  7. C语言 #和##的用法
  8. MySQL 删除数据库中所有表、所有存储过程命令
  9. iis 运行时错误_新手必看,17个常见的Python运行时错误
  10. 计算机组装内部线的整理,计算机组装与维护笔记整理.doc