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,如需转载请自行联系原作者
目录
相关文章
|
7天前
|
数据可视化 PyTorch Serverless
Python 性能分析的几个方法,找到你代码中的那个她
我们在编写了一个脚本在笔记本上处理一些数据,然后去喝杯咖啡或者上了个厕所,15分钟后回来时发现进度才完成不到10%。 我们的脑袋里面就会发问:为什么这么慢?究竟是在哪个部分是慢的?是读取数据、处理数据还是保存数据?如何让它变快?它真的很慢吗? 有了这个疑问我们尝试去解决这个问题,下面我们介绍几个 python 性能分析的工具。
|
9天前
|
算法 计算机视觉 索引
python---OpenCv(二),背景分离方法较有意思
python---OpenCv(二),背景分离方法较有意思
|
12天前
|
SQL 数据库 Python
【Python】已完美解决:(executemany()方法字符串参数问题)more placeholders in sql than params available
【Python】已完美解决:(executemany()方法字符串参数问题)more placeholders in sql than params available
10 1
|
15天前
|
数据采集 机器学习/深度学习 数据可视化
了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。
【7月更文挑战第5天】了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。数据预处理涉及缺失值(dropna(), fillna())和异常值处理。使用describe()进行统计分析,通过Matplotlib和Seaborn绘图。回归和分类分析用到Scikit-learn,如LinearRegression和RandomForestClassifier。
31 3
|
6天前
|
数据可视化 Python
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
|
6天前
|
机器学习/深度学习 缓存 安全
Python标准库中的`str`类型有一个`translate()`方法,它用于替换字符串中的字符或字符子集。这通常与`str.maketrans()`方法一起使用,后者创建一个映射表,用于定义哪些字符应该被替换。
Python标准库中的`str`类型有一个`translate()`方法,它用于替换字符串中的字符或字符子集。这通常与`str.maketrans()`方法一起使用,后者创建一个映射表,用于定义哪些字符应该被替换。
|
6天前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
|
6天前
|
Python
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
|
11天前
|
数据采集 JSON API
深入解析:抖音视频标题的Python爬虫提取方法
深入解析:抖音视频标题的Python爬虫提取方法
|
9月前
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
154 0