在进行数据分析时,绘图是必不可少的模式探索方式。用Python进行数据分析时,matplotlib和pandas是最常用到的两个库。

1、matplotlib库的应用
准备工作如下:打开ipython,输入命令分别导入numpy和matplotlib.pylab库。

  1. import numpy as np
  2. import matplotlib.pylab as plt

1)创建fig
绘图第一步是创建绘图窗口fig。

  1. fig1 = plt.figure()

2)创建subplot
在窗口上添加AxesSubplot类型的子绘图区域,一个窗口可以添加多个子绘图区。

  1. ax1 = fig1.add_subplot(2,2,1)
  2. ax4 = fig1.add_subplot(2,2,4)

3)subplot中绘图
调用子绘图区的方法,可以绘制点线图、频数图、散点图等常用图形。
注意:在同一个subplot中多次调用plot(),所得到的图形是相互覆盖的。

  1. ax1.plot(np.random.randn(50).cumsum(),'k--')
  2. ax4.hist(np.random.randn(30))

4)各类参数设置
主要关注以下几种方法:set_xlims设置坐标轴的上下限、set_ticks设置坐标刻度、set_ticklabel设置坐标标注。

  1. ax1.set_xlim(-10,60)
  2. ax1.set_xticks([0,20,40,60])
  3. ax1.set_xticklabels(['a','b','c','d'])

5)清除和保存图形
用subplot的clear()方法可以清除现有的图形,用figure的savefig()保存图形到指定路径。

  1. ax1.clear()
  2. #windows下的路径
  3. fig1.savefig(‘.\\test.jpg’)

2、pandas库的应用
相比于利用matplotlib库绘图,采用pandas绘图要便捷得多。参照前一部分,同样需要导入pandas、numpy库。

  1. import pandas as pd
  2. from pandas import Series,DataFrame
  3. import numpy as np

1)plot方法及参数
对于Series和DataFrame类型的数据,可以直接调用两种类型对应的plot方法,绘图时自动采用索引值绘制横坐标,采用每一列数据绘制纵坐标。这里分别以两类数据为例。

  1. se1 = Series(np.random.randn(30).cumsum())
  2. df = DataFrame({'a':np.random.randn(30),'b':np.random.randn(30)})

参数设置很方便,在plot()方法参数列表中添加相应参数值即可。常用的有:类型kind可设置为line(线图)、bar(垂直柱状图)、barh(水平柱状图)、kde(核密度估计图),另外还有color颜色设置、linestyle线型设置、alpha设置透明度、grid设置网格等。

  1. se1.plot(kind = 'bar', color = 'g', alpha = 0.5, grid=True)
  2. df.plot(kind = 'bar', alpha=0.5)

2)频数图、散点图
频数图采用hist绘制即可,单幅的散点图还得依靠matplotlib库,但pandas提供多幅散点图矩阵的快速绘图方法。

  1. se1.plot(kind = 'bar', color = 'g')
  2. #对角线上图形设置为核密度图
  3. pd.scatter_matrix(df, diagonal='kde')

3)清除和保存图形
有时候,我们希望清除掉当前图形或者干脆关闭绘图窗口。可以采用figure的clear()方法清除图形,采用matplotlib.pylab的close()方法则能够直接关闭图形窗口。

  1. df.plot()
  2. #清除绘图
  3. _.get_figure().clear()
  4. #关闭窗口
  5. plt.close()

3、python绘图的未来
Python同时具备强大的数据分析功能和Web开发功能,未来绘图的趋势将是更加紧密的联系数据分析和Web发布功能,所有绘制的图形应当能够方便的在网页上发布。数据分析人员和网页开发人员的工作耦合将会更加紧密。

python绘图:matplotlib和pandas的应用的更多相关文章

  1. 绘图 Matplotlib Numpy Pandas

    丈夫气力全,一个拟当千.猛气冲心出,视死亦如眠. 绘图 Matplotlib可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法. 能将数据进行可视化,更直观的呈现使数据更 ...

  2. Python绘图matplotlib

    转自http://blog.csdn.net/ywjun0919/article/details/8692018 Python图表绘制:matplotlib绘图库入门 matplotlib 是pyth ...

  3. python绘图 matplotlib教程

    mark一个很好的python绘图教程 https://liam0205.me/2014/09/11/matplotlib-tutorial-zh-cn/

  4. matplotlib 和 pandas 两个包的安装

    matplotlib是强大的python 绘图包.pandas 是强大的python分析工具包.numpy是强大的python统计包. 都超级好用,而且最近开始动手实践机器学习算法了.特此备注一下安装 ...

  5. 【机器学习】利用 Python 进行数据分析的环境配置 Windows(Jupyter,Matplotlib,Pandas)

    环境配置 安装 python 博主使用的版本是 3.10.6 在 Windows 系统上使用 Virtualenv 搭建虚拟环境 安装 Virtualenv 打开 cmd 输入并执行 pip inst ...

  6. python之matplotlib绘图基础

    Python之matplotlib基础 matplotlib是Python优秀的数据可视化第三方库 matplotlib库的效果可参考 http://matplotlib.org/gallery.ht ...

  7. python 利用matplotlib中imshow()函数绘图

    matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...

  8. 【python笔记】使用matplotlib,pylab进行python绘图

    一提到python绘图,matplotlib是不得不提的python最著名的绘图库,它里面包含了类似matlab的一整套绘图的API.因此,作为想要学习python绘图的童鞋们就得在自己的python ...

  9. 使用 Python 的 matplotlib 绘图库进行绘图

    matplotlib 是 Python 最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 1  使用 Ma ...

随机推荐

  1. 二叉树 - 建立与遍历使用Java

    二叉树的遍历(traversing binary tree)是指从根节点出发,按照某种次序依次访问二叉树中所有节点,使得每个节点仅被访问一次 前序遍历:若二叉树为空,则空操作返回null.否则先访问根 ...

  2. 20170717_python爬虫之requests+cookie模拟登陆

    在成功登陆之前,失败了十几次.完全找不到是什么原因导致被网站判断cookie是无效的. 直到用了firefox的httpfox之后才发现cookie里还有一个ASP.NET_SessionId 这个字 ...

  3. USB的包结构及包分类

    USB的传输总是低位在前,高位在后. USB的传输方向:从设备到主机的数据为输入:从主机到设备的数据叫做输出. 1. 包结构 以同步域开始,紧跟着一个包标识符PID(Packet Identifier ...

  4. nopCommerce 3.9 大波浪系列 之 路由扩展 [多语言Seo的实现]

    一.nop种的路由注册 在Global.asax,Application_Start()方法中会进行路由注册,代码如下. public static void RegisterRoutes(Route ...

  5. Loadrunner常用15种的分析点

    性能测试的工具目前用的最多的就是LoadRunner和JMeter,性能测试重点在分析和解决, 下边列出了LR中常见的15种分析点,不知道如何分析性能,来看这里吧! Vusers:提供了生产负载的虚拟 ...

  6. struts加载spring

    为了在Struts中加载Spring context,需要在struts-config.xml文件中加入如下部分: <struts-config> <plug-in classNam ...

  7. Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享

    Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享 在此,先分享下写此文前的经历与感受,我所有的感觉浓缩到一个字,那就是:"坑&qu ...

  8. ubuntu中vim下按上下左右键时输入A、B、C、D的问题

    ubuntu下使用vi 进行编辑文件时,按上下左右键时,会输入A.B.C.D,这个用起来很不方便.网上查得此问题的原因是: ubuntu系统自带的 vi 不完整导致,解决方法:安装完整的vi $ su ...

  9. NLPIR大数据挖掘平台新增敏感词扫描功能

    在网络日益发达的现在,也伴随着有益信息与造成不稳定因素的信息也随之日益泛滥,为了网民的思想健康,也为了社会的和谐,在许多对外公共场合下,有些内容是要经过审查才能显示的.在网络审查初期,都是通过人工审核 ...

  10. linux下安装log4cplus

    wget http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.1.2/log4cplus-x.x.x.tar.gz t ...