Pandas内置绘图大全
之前写过很多关于Pandas的文章都是介绍如何使用Pandas来处理数据,这的确是它的强项;其实,Pandas还有一个内置的功能:绘图。你没有看错:Pandas自身就是可以绘图的。本文详细介绍基于Pandas的快速绘图方法。
Pandas内置绘图
参数
下面是常见的参数及解释,详细的请参考官网:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.plot.html
1 | DataFrame.plot(x=None, y=None, # 指数据框列的标签或位置参数 |
模拟数据
本文中主要使用的一份模拟数据:根据numpy库模拟生成的
折线图
绘制最基础的图形:折线图
基础折线图
禁用图例
就是上图右上角的col1、col2、col3
1 | # 禁用图例Legend |
调整两个轴的名称
1 | # 设置两个轴的名称 |
柱状图
基础柱状图
1 | # 写法1 |
多元素柱状图
堆叠柱状图
水平柱状图
当然,也可以是堆叠的形式:
散点图
基础散点图
改变大小和颜色
1 | df.plot(kind="scatter", # 指定类型 |
带颜色棒的散点图
饼图
针对Series
为了绘制饼图,模拟了一份新数据:
1 | series.plot(kind="pie",figsize=(6,6)) |
针对DataFrame
同样的,再绘制一份数据:
箱型图
基础箱型图
自定义箱型图
1 | # 自定义颜色 |
水平箱型图
1 | # 自定义颜色 |
使用boxplot绘箱型图
参数是同样适用的:
蜂窝图
为了绘制不同的蜂窝图,模拟了一份新数据:
基础蜂窝图
改进版蜂窝图
1 | df1.plot( |
直方图
1 | # 写法1 |
密度图
使用 Series.plot.kde() 和 DataFrame.plot.kde() 可以画出密度图:
1、针对DataFrame的密度图
2、针对Series的密度图
面积图
多子图
绘制子图主要的参数:
- subplots: 默认False, 如果希望每列绘制子图, 则赋值为True
- layout: 子图的布局, 即画布被横竖分为几块, 如:(2,3)表示2行3列
- figsize: 整个画布大小
1 | df.plot(subplots=True, |
开启共享y轴的参数:
1 | df.plot(subplots=True, |
散点矩阵图
1 | # 单图导入 |
平行分类图
为了绘制平行分类图,我们导入著名的iris数据集:
其中:属性Name就是我们进行分类的数据字段
1 | # 导图模块 |