python绘图:matplotlib和pandas的应用
在进行数据分析时,绘图是必不可少的模式探索方式。用Python进行数据分析时,matplotlib和pandas是最常用到的两个库。
1、matplotlib库的应用
准备工作如下:打开ipython,输入命令分别导入numpy和matplotlib.pylab库。
- import numpy as np
- import matplotlib.pylab as plt
1)创建fig
绘图第一步是创建绘图窗口fig。
- fig1 = plt.figure()
2)创建subplot
在窗口上添加AxesSubplot类型的子绘图区域,一个窗口可以添加多个子绘图区。
- ax1 = fig1.add_subplot(2,2,1)
- ax4 = fig1.add_subplot(2,2,4)
3)subplot中绘图
调用子绘图区的方法,可以绘制点线图、频数图、散点图等常用图形。
注意:在同一个subplot中多次调用plot(),所得到的图形是相互覆盖的。
- ax1.plot(np.random.randn(50).cumsum(),'k--')
- ax4.hist(np.random.randn(30))
4)各类参数设置
主要关注以下几种方法:set_xlims设置坐标轴的上下限、set_ticks设置坐标刻度、set_ticklabel设置坐标标注。
- ax1.set_xlim(-10,60)
- ax1.set_xticks([0,20,40,60])
- ax1.set_xticklabels(['a','b','c','d'])
5)清除和保存图形
用subplot的clear()方法可以清除现有的图形,用figure的savefig()保存图形到指定路径。
- ax1.clear()
- #windows下的路径
- fig1.savefig(‘.\\test.jpg’)
2、pandas库的应用
相比于利用matplotlib库绘图,采用pandas绘图要便捷得多。参照前一部分,同样需要导入pandas、numpy库。
- import pandas as pd
- from pandas import Series,DataFrame
- import numpy as np
1)plot方法及参数
对于Series和DataFrame类型的数据,可以直接调用两种类型对应的plot方法,绘图时自动采用索引值绘制横坐标,采用每一列数据绘制纵坐标。这里分别以两类数据为例。
- se1 = Series(np.random.randn(30).cumsum())
- df = DataFrame({'a':np.random.randn(30),'b':np.random.randn(30)})
参数设置很方便,在plot()方法参数列表中添加相应参数值即可。常用的有:类型kind可设置为line(线图)、bar(垂直柱状图)、barh(水平柱状图)、kde(核密度估计图),另外还有color颜色设置、linestyle线型设置、alpha设置透明度、grid设置网格等。
- se1.plot(kind = 'bar', color = 'g', alpha = 0.5, grid=True)
- df.plot(kind = 'bar', alpha=0.5)
2)频数图、散点图
频数图采用hist绘制即可,单幅的散点图还得依靠matplotlib库,但pandas提供多幅散点图矩阵的快速绘图方法。
- se1.plot(kind = 'bar', color = 'g')
- #对角线上图形设置为核密度图
- pd.scatter_matrix(df, diagonal='kde')
3)清除和保存图形
有时候,我们希望清除掉当前图形或者干脆关闭绘图窗口。可以采用figure的clear()方法清除图形,采用matplotlib.pylab的close()方法则能够直接关闭图形窗口。
- df.plot()
- #清除绘图
- _.get_figure().clear()
- #关闭窗口
- plt.close()
3、python绘图的未来
Python同时具备强大的数据分析功能和Web开发功能,未来绘图的趋势将是更加紧密的联系数据分析和Web发布功能,所有绘制的图形应当能够方便的在网页上发布。数据分析人员和网页开发人员的工作耦合将会更加紧密。
python绘图:matplotlib和pandas的应用的更多相关文章
- 绘图 Matplotlib Numpy Pandas
丈夫气力全,一个拟当千.猛气冲心出,视死亦如眠. 绘图 Matplotlib可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法. 能将数据进行可视化,更直观的呈现使数据更 ...
- Python绘图matplotlib
转自http://blog.csdn.net/ywjun0919/article/details/8692018 Python图表绘制:matplotlib绘图库入门 matplotlib 是pyth ...
- python绘图 matplotlib教程
mark一个很好的python绘图教程 https://liam0205.me/2014/09/11/matplotlib-tutorial-zh-cn/
- matplotlib 和 pandas 两个包的安装
matplotlib是强大的python 绘图包.pandas 是强大的python分析工具包.numpy是强大的python统计包. 都超级好用,而且最近开始动手实践机器学习算法了.特此备注一下安装 ...
- 【机器学习】利用 Python 进行数据分析的环境配置 Windows(Jupyter,Matplotlib,Pandas)
环境配置 安装 python 博主使用的版本是 3.10.6 在 Windows 系统上使用 Virtualenv 搭建虚拟环境 安装 Virtualenv 打开 cmd 输入并执行 pip inst ...
- python之matplotlib绘图基础
Python之matplotlib基础 matplotlib是Python优秀的数据可视化第三方库 matplotlib库的效果可参考 http://matplotlib.org/gallery.ht ...
- python 利用matplotlib中imshow()函数绘图
matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...
- 【python笔记】使用matplotlib,pylab进行python绘图
一提到python绘图,matplotlib是不得不提的python最著名的绘图库,它里面包含了类似matlab的一整套绘图的API.因此,作为想要学习python绘图的童鞋们就得在自己的python ...
- 使用 Python 的 matplotlib 绘图库进行绘图
matplotlib 是 Python 最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 1 使用 Ma ...
随机推荐
- (转)eclipse报错及解决说明 "XX cannot be resolved to a type "
场景:在项目开发时,一个工程引用另一个工程中的文件,出现报错“XX cannot be resolved to a type”,但是在实际通过跟踪“F3”能够找到相应的文件,最终用方法4解决. 引言: ...
- (转)java for循环的执行顺序和几种常用写法
算是温习吧.问题比较基础,但是也比较重要.(虽然是C,但是很经典) for循环可以说在每个程序中都少不了的,语句头包括三个部分:初始化,判读条件,一个表达式. 但是这三个部分的执行顺序是什么,这是我们 ...
- Spring 学习笔记(七)—— 切入点表达式
为了能够灵活定义切入点位置,Spring AOP提供了多种切入点指示符. execution———用来匹配执行方法的连接点 语法结构: execution( 方法修饰符 方法返回值 方法所 ...
- 【JAVASCRIPT】React学习-组件生命周期
摘要 整理组件加载过程,详细见官方文档:https://facebook.github.io/react/docs/react-component.html mount 过程 1)constructo ...
- listView属性随笔--不断增加中。
对于一个控件的认识总是会随着时间的推移,而变的逐渐深刻. 简单的就 android:layout_height:属性来说给的数值不同就会有不同的效果,有些时候你根本想不到是跟这个属性的设置有关. 有时 ...
- IntelliJ idea学习资源
工作需要, 最近得从Eclipse转战到Idea, 找了些不错的学习资料: 1, 从eclipse上迁移过来的用户说明: https://www.jetbrains.com/help/idea/201 ...
- springboot启动时报错No session repository could be auto-configured.....
具体异常提示: Error starting ApplicationContext. To display the auto-configuration report re-run your appl ...
- 虚拟机下克隆3个centos系统并配置IP访问网络(转载)
此文是保证linux系统能够上网 先查看本机的IP 打开虚拟机,更改虚拟机为桥接方式 在第一个虚拟机上打开终端,在命令行输入setup,选择NETWORK CONFIGRATION 回车后, 配置IP ...
- n以内质数占的比例
2 ->0.5 10 ->0.4 100-> 0.25 1000->0.168 10000->0.1229 100000->0.09592 1000000-> ...
- 一个想法照进现实-《IT连》创业项目:聊聊IT连App是如何思考解决IT人员单身问题的
前言: 根据最早我编写的IT联盟社区众筹计划书的思路方向:社交->资讯=>评级=>培训. 现在在实现第一个阶段中,而且这个阶段可能会走很久. 今天开文,主要是讲述一下,现在的版本为什 ...