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. t = pl.datestr2num(datestr) 

  38. v = 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() 

    效果图如下:











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1576189,如需转载请自行联系原作者
目录
相关文章
|
24天前
|
调度 Python
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
|
1月前
|
Python
Python字符串center()方法详解 - 实现字符串居中对齐的完整指南
Python的`center()`方法用于将字符串居中,并通过指定宽度和填充字符美化输出格式,常用于文本对齐、标题及表格设计。
|
2月前
|
安全 Python
Python语言中常用的文件操作方法探讨
通过上述方法的结合使用,我们可以构筑出强大并且可靠的文件操作逻辑,切实解决日常编程中遇到的文件处理问题。
157 72
|
23天前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
|
3月前
|
存储 机器学习/深度学习 人工智能
稀疏矩阵存储模型比较与在Python中的实现方法探讨
本文探讨了稀疏矩阵的压缩存储模型及其在Python中的实现方法,涵盖COO、CSR、CSC等常见格式。通过`scipy.sparse`等工具,分析了稀疏矩阵在高效运算中的应用,如矩阵乘法和图结构分析。文章还结合实际场景(推荐系统、自然语言处理等),提供了优化建议及性能评估,并展望了稀疏计算与AI硬件协同的未来趋势。掌握稀疏矩阵技术,可显著提升大规模数据处理效率,为工程实践带来重要价值。
154 58
|
2月前
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
146 0
|
3月前
|
JSON 数据格式 Python
解决Python requests库POST请求参数顺序问题的方法。
总之,想要在Python的requests库里保持POST参数顺序,你要像捋顺头发一样捋顺它们,在向服务器炫耀你那有条不紊的数据前。抓紧手中的 `OrderedDict`与 `json`这两把钥匙,就能向服务端展示你的请求参数就像经过高端配置的快递包裹,里面的商品摆放井井有条,任何时候开箱都是一种享受。
87 10
|
2月前
|
传感器 算法 数据挖掘
Python时间序列平滑技术完全指南:6种主流方法原理与实战应用
时间序列数据分析中,噪声干扰普遍存在,影响趋势提取。本文系统解析六种常用平滑技术——移动平均、EMA、Savitzky-Golay滤波器、LOESS回归、高斯滤波与卡尔曼滤波,从原理、参数配置、适用场景及优缺点多角度对比,并引入RPR指标量化平滑效果,助力方法选择与优化。
401 0
|
4月前
|
Python
Python 中__new__方法详解及使用
__new__ 是 Python 中用于创建类实例的静态方法,在实例化对象时优先于 __init__ 执行。它定义在基础类 object 中,需传递 cls 参数(表示当前类)。__new__ 可决定是否使用 __init__ 方法或返回其他对象作为实例。特性包括:1) 在实例化前调用;2) 始终为静态方法。示例中展示了其用法及 Python2 和 Python3 的差异,强调了参数处理的不同。
179 10
|
4月前
|
人工智能 Ruby Python
python__init__方法笔记
本文总结了Python中`__init__`方法的使用要点,包括子类对父类构造方法的调用规则。当子类未重写`__init__`时,实例化会自动调用父类的构造方法;若重写,则需通过`super()`或直接调用父类名称来显式继承父类初始化逻辑。文中通过具体代码示例展示了不同场景下的行为及输出结果,帮助理解类属性与成员变量的关系,以及如何正确使用`super()`实现构造方法的继承。
159 9

热门文章

最新文章

推荐镜像

更多