pandas.DataFarme内置的绘图功能参数说明

       可视化是数据探索性分析及结果表达的一种非常重要的形式,因此打算写一个python绘图系列,本文是第一篇,先说一下pandas.DataFrame.plot()绘图功能。

pandas.DataFrame.plot()

       在0.23.4版本的pandas中,pandas.DataFrame.plot()中常用的参数有以下几个

  • x:横坐标上的标签,一般是DataFrame中某个column的名称,默认为None
  • y:纵坐标上要显示的column,如果不指定column,则默认会绘制DataFrame中所有对象类型为数值型的columns,非数值对象类型的column不显示
  • kind:选择图表类型,默认为折线图。可选参数为‘line’(折线图)、‘bar’(柱状图,竖直方向)、‘barh’(柱状图,水平方向)、‘hist’(直方图)、‘box’(箱线图)、‘kde’(核密度估计图)、‘area’(面积图)、‘pie’(饼状图)、‘scatter’(散点图)、‘hexbin’(全成为hexagonal binning,有点类似热点图,用于显示一个区域中点的个数,不过是用正六边形表示数值区域)
  • ax:matplotlib中的axes对象(可以理解为子图对象)。在多子图(使用matplotlib的subplots()函数,或者add_subplot()函数时),可以通过该参数选择在哪个子图上绘制图形。参数默认为None
  • subplots:是否单独显示每个columns,默认为False。设置为True时,会将每个columns的数据单独在一个子图中显示
  • sharex:仅作用于"subplots"为True时,是否允许所有的子图共用同一个X轴标签。当“ax”为None时,“sharex”默认为True;当“ax”不为None,“sharex”默认为False,此时每一个子图有自己单独的X轴标签。
  • sharey:当“ax”不为None或"subplots"为True是,是否允许共用一个Y轴标签,默认为False。
  • layout:当“subplots”为True时,用于布置图片显示布局,图片按几行、几列显示,参数为元组。
  • figsize:元组类型,设置图片尺寸。
  • use_index:是否使用DataFarme的index作为X轴标签,默认为True。当参数“x”不为None时。当DataFrame的index为非数值(包括字符串、datetime等类型),use_index参数设置无效。
  • title:设置图标标题。
  • grid:是否显示网格线,默认为False。
  • legend:是否显示图例,默认为True,图例就是clolumn的名称。
  • style:设置线型,默认为直线。
  • xticks:设置X轴上的坐标值,需要数值型序列。
  • yticks:同"xticks",作用于Y轴
  • xlim:设置图片中X轴数值刻度显示的区间范围,元祖类型
  • ylim:同xlim,作用于Y轴
  • rot:X/Y轴上的刻度值显示时候旋转的角度,水平绘图时旋转X轴坐标,竖直绘图时旋转Y坐标
  • fontsize:设置X/Y坐标的字体尺寸
  • colormap:设置图形显示的颜色,用matplotlib内指定的表示颜色的字符串或者colormap对象指定
  • colorbar:是否显示颜色条,仅仅在绘制有颜色条的图形时使用,如‘scatter’、‘henbin’图
  • position:仅作用于绘制柱状图时,取值范围[0,1],用于设置X坐标显示的位置,0表示显示在最左边的柱条处,1表示显示在最右边的柱条处。
  • sort_columns:是否允许对columns的名称进行排序、决定绘图顺序
  • scondary_y:是否在第二个(一般默认指右边的Y轴)Y轴上绘图,默认为False。该参数还可以传入一个list或tuple,表示指定哪些columns在第二个Y轴上绘图。
  • mark_right:当使用第二个Y绘图时,是否允许在图例的右边加上“right”字样,表明是在第二个轴上绘图,默认是True
  • **kwds:该参数表明除去以上参数外,你可以传入matplotlib其它的绘图方法

函数返回值: matplotlib.axes.Axes对象,或者包含该对象的numpy.adarray对象

        pandas.DataFarme.plot()绘图功能内部使用的还是matplotlib库的绘图函数,只不过对DataFarme结构来说,DataFarme.plot()用起来显得方便一些,如果对图形做更深层次的自定义,还是用matplotlib绘图更合适一些,可以对更多参数进行设置。

        另外需要说明的是,可以通过“kind”参数选择绘制各种类型的图形,但也可以采用DataFrame.plot().bar()(柱状图)这种形式,然后再去设置这种图形绘制时的参数,一般建议采用DataFrame.plot.bar()形式。

   

posted @ 2019-05-18 16:53  hgz_dm  阅读(4157)  评论(0编辑  收藏  举报