«

python Pandas绘图函数怎么使用

时间:2024-4-8 09:11     作者:韩俊     分类: Python


这篇文章主要介绍了python Pandas绘图函数怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python Pandas绘图函数怎么使用文章都会有所收获,下面我们一起来看看吧。

简介

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

'scatter'
散点图
'hexbin'
六角拼接图

其中

scatter
hexbin
只适用于数据帧,即
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
选项是任何一种图像都可以使用的参数。

散点图和六边形分箱图

散点图是只有数据帧可以调用的绘图方法,共有两类,分别是

scatter
hexbin
,前者是普通的散点图,后者是六边形分箱图,本质上是一种二维的数据直方图。

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 

标签: python

热门推荐