pandas数据作图方法

《pandas数据作图方法》

简介

Pandas自身也提供了作图的 plot() 方法,可以作各种图形。本文将详细介绍如何使用Pandas直接作一些常规的图。

折线图

控制作图的类型在 DataFrame.plot() 方法里:

可以看出DataFrame的中的 plot() 方法是一个非常高级的API,可调节的参数非常多、使用非常灵活,这也是pandas作为数据处理工具的强大体现。通过参数 x 和 y 能够指定作图的横纵轴;通过 kind 参数指定需要的图形,这个参数可以选择的值有:

  • ‘line’ : 直线图 (默认)
  • ‘bar’ : 垂直条形图
  • ‘barh’ : 水平条形图
  • ‘hist’ : 直方图
  • ‘box’ : 箱型图
  • ‘kde’ : 核密度估计图
  • ‘density’ : 与核密度估计图类似
  • ‘area’ : 区域图
  • ‘pie’ : 饼图
  • ‘scatter’ : 散点图
  • ‘hexbin’ : 六边形分箱图

值得注意的是,在新版本的pandas中也可以使用诸如 plot.line() 方法调用相关的作图方法了。

直接来看一个例子:

我们来详细分析一下上面的例子,首先导入了所需要的库。要注意的是 import matplotlib.pyplot as plt 是为了最后能通过 plt.show() 将图形显示出来。接着定义了一个DataFrame,包括 'A', 'B', 'C' 三列,然后直接调用 df.plot() 画图方法, 默认对所有列作折线图,并且以索引作为 x 轴。得到的图形如下:

《pandas数据作图方法》

或者可以指定 x 轴:

得到以 A 列为横坐标,其他列都作为纵坐标的图形:

《pandas数据作图方法》

这给了我们启发,事实上对于有多列的DataFrame而言,可以引入 x, y 参数指定要作图的数据。比如:

在这里指定了 A 列为横坐标, B 列为纵坐标,得到图形如下:

《pandas数据作图方法》

散点图

这是作折线图的情况,如果我们想作散点图,就需要调用散点图的方法:

得到的散点图如下:

《pandas数据作图方法》

如果需要将 C 列也作到同一张图里,方法稍有不同:

解释下:首先作完第一张图后赋值给自变量 ax1 ,表示这张图的坐标轴。作第二张图的时候,通过 ax 参数指定要作到自变量 ax1 中去。得到的散点图如下:

《pandas数据作图方法》

可以看出,与Matplotlib直接作图不同,只要定义好了 label ,这里直接加上了图例。

条形图

掌握了前面的方法后,作其他类型的图就是大同小异了,这里再介绍条形图的画法:

在这个例子中,我们指定了以 lab 列作为横坐标, val 列作为纵坐标,填充的颜色为 orange ,旋转角度为0 。最后得到的条形图如下:

《pandas数据作图方法》

这里只介绍这几种图形,其他图形的使用方法大同小异。清楚使用DataFrame中哪些数据作图最关键。

总结

pandas提供了高级的作图接口,可以非常方便地作出图形。需要注意的是本文并不涉及作图的详细参数,这部分内容在Matplotlib教程中会详细讲到。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

9 + 20 =