Python之Matplotlib画图方法

Matplotlib是一个由John Hunter等开发的,用以绘制二维图形的Python模块。Matplotlib可以绘制多种形式的图形包括普通的线图,直方图,饼图,散点图以及误差 线图等;可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小等;它能够很好地支持一部分TeX排版命令,可以比较美观地显示图形中 的数学公式。

    Matplotlib的安装方法请参考官方文档:http://matplotlib.sourceforge.net/users/installing.html

    为了方便大家下载,这里提供NumPy、SciPy以及Matplotlib的下载地址:

    NumPy:http://sourceforge.net/projects/numpy/files/

    SciPy:http://sourceforge.net/projects/scipy/files/

    Matplotlib:http://sourceforge.net/projects/matplotlib/files/matplotlib/

    官方提供了Matplotlib很多示例,大家请参考:http://matplotlib.sourceforge.net/gallery.html

    在实际的生产环境中,曾经遇到过这样一个问题,将一些数据分析结果,按照日期形式做线性统计,非常感谢《Python科学计算》的作者的帮助,下面将代码进行分享。

  1. -*- coding: utf-8 -*- 

  2. import numpy as np 

  3. import pylab as pl 

  4. from StringIO import StringIO 

  5. data_str """ 

  6. 2012-04-01_02        68 

  7. 2012-04-01_05        70 

  8. 2012-04-01_08        69 

  9. 2012-04-01_11        71 

  10. 2012-04-01_14        72 

  11. 2012-04-01_20        70 

  12. 2012-04-02_02        71 

  13. 2012-04-02_05        70 

  14. 2012-04-02_08        69 

  15. 2012-04-02_11        71 

  16. 2012-04-02_14        69 

  17. 2012-04-02_20        71 

  18. 2012-04-03_02        74 

  19. 2012-04-03_05        73 

  20. 2012-04-03_08        77 

  21. 2012-04-03_11        70 

  22. 2012-04-03_14        71 

  23. 2012-04-03_20        70 

  24. 2012-04-04_02        70 

  25. 2012-04-04_05        72 

  26. 2012-04-04_08        72 

  27. 2012-04-04_11        69 

  28. 2012-04-04_14        71 

  29. 2012-04-04_20        69 

  30. 2012-04-05_02        75 

  31. """ 

  32.  

  33. data np.loadtxt(StringIO(data_str),  

  34.         dtype=np.dtype([("t""S13"),("v"float)])) 

  35.          

  36. datestr np.char.replace(data["t"], "_""

  37. pl.datestr2num(datestr) 

  38. data["v"

  39.  

  40. pl.plot_date(t, v, fmt="-o"

  41.  

  42. pl.subplots_adjust(bottom=0.3

  43.  

  44. ax pl.gca() 

  45. ax.fmt_xdata pl.DateFormatter('%Y-%m-%d %H:%M:%S'

  46. pl.xticks(rotation=90

  47.  

  48. pl.xticks(t, datestr) 如果以数据点为刻度,则注释掉这一行 

  49. ax.xaxis.set_major_formatter(pl.DateFormatter('%Y-%m-%d %H')) 

  50.  

  51. pl.grid() 

  52. pl.show() 

    效果图如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值