Pandas绘图函数超详细讲解

 更新时间:2022年12月20日 17:13:22   作者:微小冷  
matplotlib要组装一张图表,需要的各个基础组件对象。相对工作量较大,但在pandas中我们有行标签和列标签以及分组信息。原本制作一张图表需要一大堆matplotlib代码。在pandas中只需要一两条代码就可以了,今天记录一下,pandas中常见的几个绘制图表的方法

简介

method绘图类别method绘图类别
'line'折线图[默认使用]'area'堆叠面积图
'bar'纵向条形图'barh'横向条形图
'kde'概率分布图'density'概率分布图
'box'箱线图'hist'数据直方图
'pie'饼图
'scatter'散点图'hexbin'六角拼接图

其中scatterhexbin只适用于数据帧,即DataFrame格式。所谓DataFrame,即数据帧,可以理解为一个表格,如果不考虑表头的话,这个表格就是多维数组。

对于这些图像类别,也可以调用专门封装成的函数进行绘制,例如针对下面这组数据

import matplotlib.pyplot as plt
import pandas as pd
s = pd.Series([1, 2, 2.5, 3, 3.5, 4, 5])

s.plot.kde()完全等价于s.plot(kind='kde')

接下来逐个展示这些图表

条形图

pandas中提供横向和纵向两种条形图。

import numpy as np
df = pd.DataFrame(np.random.rand(10,5),
    columns=['a','b','c','d','e'])
df.plot.bar(title="bar")
df.plot.barh(title="barh", stacked=True)
plt.show()

barbarh

折线图

df.plot.line(title="line")
df.plot.area(title="area")
plt.show()

linearea

箱线图

箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较。箱线图的绘制方法是:先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间。

df.plot.box(title='box')
df.plot.kde(title='kde')
plt.show()

boxkde

直方图

hist为数据直方图,多条数据放在一起容易混淆,可以设置透明度alpha。下面对高斯分布的散点进行绘制,分别绘制其数据直方图和概率密度图,可以看出二者之间的关联性。

rdNormal = np.random.normal
rand = np.random.rand
df = pd.DataFrame({
    i : rdNormal(i,rand(),size=(1000)) for i in range(3)})
df.plot.hist(title='box', bins=30, alpha=0.5)
df.plot.density(title='density')
plt.show()

histdensity

饼图

饼图对输入数据有一定的限制,即不允许出现负值,故在绘制之前,将df所有值取绝对值,且不支持多组数据在一个图中绘制,故而需要开启subplot选项

df = pd.DataFrame(np.random.rand(5,3),columns=list('abc'),index=list("ABCDE"))
df.plot.pie(title='pie', subplots=True)
plt.show()

当然,这个subplots选项是任何一种图像都可以使用的参数。

散点图和六边形分箱图

散点图是只有数据帧可以调用的绘图方法,共有两类,分别是scatterhexbin,前者是普通的散点图,后者是六边形分箱图,本质上是一种二维的数据直方图。

rdNormal = np.random.normal
rand = np.random.rand
keys = ['x', 'y', 'c']
datas = {
    keys[i] : rdNormal(i,rand(),size=(1000)) for i in [0,1,2]
}
df = pd.DataFrame(datas)
df.plot.scatter(x='x', y='y', c='c')
df.plot.hexbin(x='x', y='y', gridsize=10)
plt.show()

scatter

hexbin 

到此这篇关于Pandas绘图函数超详细讲解的文章就介绍到这了,更多相关Pandas绘图函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用python实现抓取中国银行外汇牌价首页数据实现

    使用python实现抓取中国银行外汇牌价首页数据实现

    这篇文章主要为大家介绍了如何使用python实现抓取中国银行外汇牌价首页数据的实现示例,有需要的同学可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • python梯度下降算法的实现

    python梯度下降算法的实现

    这篇文章主要为大家详细介绍了python实现梯度下降算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • Python使用asyncio处理异步编程的代码示例

    Python使用asyncio处理异步编程的代码示例

    在 Python 中,异步编程可以使用 asyncio 库,该库提供了一些工具和功能来编写异步代码,本文介绍了处理异步编程的几个关键概念和示例,需要的朋友可以参考下
    2024-07-07
  • python中time、datetime模块的使用

    python中time、datetime模块的使用

    这篇文章主要介绍了python中time、datetime模块的使用,帮助大家更好的利用python处理时间,感兴趣的朋友可以了解下
    2020-12-12
  • 检测tensorflow是否使用gpu进行计算的方式

    检测tensorflow是否使用gpu进行计算的方式

    今天小编就为大家分享一篇检测tensorflow是否使用gpu进行计算的方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python中通用的文本相似度计算方法详解

    Python中通用的文本相似度计算方法详解

    这篇文章主要为大家详细介绍了三种Python中通用的文本相似度计算方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • 浅谈Python 责任链模式

    浅谈Python 责任链模式

    本文主要介绍了浅谈Python 责任链模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python压缩和解压缩zip文件

    Python压缩和解压缩zip文件

    这篇文章主要介绍了Python压缩和解压缩zip文件,本文直接给出实例代码,需要的朋友可以参考下
    2015-02-02
  • Python中模块与包有相同名字的处理方法

    Python中模块与包有相同名字的处理方法

    这篇文章主要给大家介绍了在Python中模块与包有相同名字的处理方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • 对python 调用类属性的方法详解

    对python 调用类属性的方法详解

    今天小编就为大家分享一篇对python 调用类属性的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论