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绘图函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python OpenCV简单的绘图函数使用教程

    目录 1.画直线的函数是cv2.line 2.画矩形的函数是cv2.rectangle 3.画圆函数是cv2.circle 4.画椭圆的函数是cv2.elipes 5.画多边形的函数是cv2.polylines 6.添加文字的函数是cv2.putText 1.画直线的函数是cv2.line cv2.line函数语法: cv2.line(img,start_point,end_point,color,thickness=0) cv2.line函数参数解释: img:需要画的图像 start_poi

  • Pandas绘图函数超详细讲解

    目录 简介 条形图 折线图 箱线图 直方图 饼图 散点图和六边形分箱图 简介 method 绘图类别 method 绘图类别 'line' 折线图[默认使用] 'area' 堆叠面积图 'bar' 纵向条形图 'barh' 横向条形图 'kde' 概率分布图 'density' 概率分布图 'box' 箱线图 'hist' 数据直方图 'pie' 饼图 'scatter' 散点图 'hexbin' 六角拼接图 其中scatter和hexbin只适用于数据帧,即DataFrame格式.所谓Data

  • C语言函数超详细讲解下篇

    目录 前言 函数的声明和定义 函数声明 函数定义 举例 简单的求和函数 把加法单独改写成函数 添加函数声明 带头文件和函数声明 静态库(.lib)的生成 静态库文件的使用方法 函数递归 什么是递归? 递归的两个必要条件 练习1 一般方法 递归的方法 练习2 一般方法 递归方法 练习3 一般方法 递归方法 练习4 一般方法 递归方法 递归与迭代 递归隐藏的问题 如何改进 选递归还是迭代 总结 前言 紧接上文,继续学习函数相关内容. 函数的声明和定义 函数声明 告诉编译器有一个函数叫什么,参数是什么

  • C语言函数超详细讲解上篇

    目录 前言 1.函数是什么? 2.C语言中函数的分类 2.1 库函数 2.1.1 如何学会使用库函数 2.1.2 自定义函数 3.函数的参数 3.1 实际参数(实参) 3.2 形式参数(形参) 4.函数的调用 4.1 传值调用 4.2 传址调用 4.3 练习 4.3.1 判断一个数是不是素数 4.3.2 判断一年是不是闰年 4.3.3 二分查找 4.3.4 数值自增增加1 5.函数的嵌套调用和链式访问 5.1 嵌套调用 5.2 链式访问 总结 前言 本文主要学习函数的相关内容. 1.函数是什么?

  • C语言超详细讲解函数栈帧的创建和销毁

    目录 1.本节目标 2.相关寄存器 3.相关汇编指令 4.什么是函数栈帧 5.什么是调用堆栈 6.函数栈帧的创建和销毁 (1).main函数栈帧的创建与初始化 (2).main函数的核心代码 (3).Add函数的调用过程 (4).Add函数栈帧的销毁 (5).调用完成 7.对开篇问题的解答 1.本节目标 C语言绝命七连问,你能回答出几个? 局部变量是如何创建的?为什么局部变量不初始化其内容是随机的?有些时候屏幕上输出的"烫烫烫"是怎么来的?函数调用时参数时如何传递的?传参的顺序是怎样的

  • C语言超详细讲解getchar函数的使用

    目录 一.getchar 函数 二.缓冲区 1.什么是缓冲区 2.为什么要存在缓冲区 3.缓冲区的类型 4.缓冲区的刷新 三.getchar 函数的正确使用 1.getchar 的换行问题 2.getchar 与 scanf 的混合使用 一.getchar 函数 从上面的介绍来看,我们要正确使用getchar函数,首先得了解什么是缓冲区. 二.缓冲区 1.什么是缓冲区 缓冲区又称为缓存,它是内存空间的一部分. 也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部

  • C语言超详细讲解字符串函数和内存函数

    目录 字符串函数 长度不受限制的字符串函数 strlen strcpy strcat strcmp 长度受限制的字符串函数介绍 strncpy strncat strncmp 字符串查找以及错误报告 strstr strtok strerror 内存操作函数 memcpy memmove memcmp 字符串函数 长度不受限制的字符串函数 strlen size_t strlen ( const char * str ) 求字符串长度: 字符串以'\0' 作为结束标志,strlen函数返回的是在

  • C++超详细讲解函数参数的默认值

    目录 1.参数默认值的指定方式 2.参数默认值的指定规则 1.参数默认值的指定方式 在 C++ 中,可以在函数声明时为参数提供一个默认值.这样在函数调用时,如果没有提供函数参数值,则使用默认值. e.g. 在函数声明时,指定参数默认值 void Demo(int x = 0); int main(int argc, char* argv[]) { Demo(); // 不用提供参数,会将 x = 0 的结果输出 return 0; } void Demo(int x) { printf("x =

  • C++超详细讲解函数重载

    目录 1 函数重载的定义 2 构成函数重载的条件 3 编译器调用重载函数的准则 4 函数重载的注意事项 4.1 避开重载带有指定默认值参数的函数 4.2 注意函数重载遇上函数指针 4.3 C++编译器不能以 C 的方式编译重载函数 1 函数重载的定义 函数重载:使用同一个函数名定义不同的函数.从本质上来看,就是互相独立的不同函数,每一个函数类型不同.因此,函数重载是由函数名和参数列表决定的. 注意:函数返回值不能作为函数重载的重要依据! 2 构成函数重载的条件 当满足以下三个条件之一时,便可以构

  • C++超详细讲解函数对象

    目录 一.客户需求 二.存在的问题 三.解决方案 四.函数对象 五.小结 一.客户需求 编写一个函数 函数可以获得斐波那契数列每项的值 每调用一次返回一个值 函数可根据需要重复使用 下面来看第一个解决方案: #include <iostream> using namespace std; int fib() { static int a0 = 0; static int a1 = 1; int ret = a1; a1 = a0 + a1; a0 = ret; return ret; } in

  • 超详细讲解C++的三种函数传递方式

    目录 一.值传递 二.地址传递 1.指针的有关知识 2.地址传递举例 三.引用传递 1.引用的相关知识 2.引用传递举例 四.三种传参方式的比较 总结 一.值传递 代码如下: void swap1(int x,int y) { int temp = x; x = y; y = temp; }//main函数里写入 swap1(a,b);即可 其中x,y形参 a,b实参 这里我用swap1()交换函数做举例,函数内容部分是非常经典的三步交换值的代码,这样就完成了一个非常简单的值传递函数. 二.地址

随机推荐