这篇文章主要介绍了python Pandas绘图函数怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python Pandas绘图函数怎么使...
这篇文章主要介绍了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
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/woldxakpbew.png)
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/gy1nrpxcppd.png)
折线图
df.plot.line(title="line")
df.plot.area(title="area")
plt.show()
linearea
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/1x5dbmht4b4.png)
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/ykzxe4fx2b5.png)
箱线图
箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较。箱线图的绘制方法是:先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间。
df.plot.box(title='box')
df.plot.kde(title='kde')
plt.show()
boxkde
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/5zhz4uogivw.png)
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/45b1s005di2.png)
直方图
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
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/lptsyjlmgmi.png)
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/ksdfjvzujrp.png)
饼图
饼图对输入数据有一定的限制,即不允许出现负值,故在绘制之前,将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()
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/fy1f0vwxsym.png)
当然,这个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
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/ccqsyjecfta.png)
hexbin
![python](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240324/lg3psozzmd0.png)
关于“python Pandas绘图函数怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python Pandas绘图函数怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注捷杰建站行业资讯频道。