Pandas 在数据可视化方面有着较为广泛的应用,Pandas 的 plot() 方法可以用来绘制各种类型的统计图表,包括线图、散点图、柱状图、饼图、密度图等等。
plot() 方法是基于matplotlib库构建的,因此具有很高的灵活性和可定制性,可以通过参数设置对图表进行调整。plot()方法可以直接作用于Series、DataFrame和GroupBy对象,方便快捷地生成图表。
本节我们深入讲解一下 Pandas 的绘图操作。
Series和DataFrame绘图方法
Pandas 的Series和DataFrame结构都封装了plot方法,便于快捷绘制可视化图形。常用的绘图方法有:
- plot()
- bar()
- barh()
- hist()
- box()
- kde()
- area()
- scatter()
- hexbin()
- pie()
这些方法可以用于绘制不同类型的图表,如线图、柱状图、直方图、箱线图、密度图、面积图、散点图、六边形图和饼图等。
以下是几个常见的绘图方法实例:
散点图
使用plot.scatter()方法可以创建散点图。散点图通常用于显示两个数值变量之间的关系。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 创建数据集
np.random.seed(123)
df = pd.DataFrame({'x': np.random.randn(50),
'y': np.random.randn(50)})
# 绘制散点图
df.plot.scatter(x='x', y='y', c='blue')
plt.show()
上面的代码创建了一个数据集,然后使用plot.scatter()方法创建了一个散点图。x和y参数分别指定了要绘制的列,c参数指定了散点的颜色。
运行结果如图:
条形图
使用plot.bar()方法可以创建条形图。条形图通常用于显示分类变量的频率或分布。
import pandas as pd
import matplotlib.pyplot as plt
# 创建数据集
data = {'apples': 10, 'oranges': 15, 'pears': 5, 'bananas': 20}
df = pd.DataFrame.from_dict(data, orient='index', columns=['count'])
# 绘制条形图
df.plot.bar(y='count', rot=0)
plt.show()
上面的代码创建了一个数据集,然后使用plot.bar()方法创建了一个条形图。y参数指定了要绘制的列,rot参数指定了x轴标签的旋转角度。
运行结果如图:
直方图
使用plot.hist()方法可以创建直方图。直方图通常用于显示数值变量的分布。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 创建数据集
np.random.seed(123)
df = pd.DataFrame({'x': np.random.normal(0, 1, 100)})
# 绘制直方图
df.plot.hist(bins=20)
plt.show()
上面的代码创建了一个数据集,然后使用plot.hist()方法创建了一个直方图。bins参数指定了直方图的柱子数量。
运行结果如图:
箱线图
使用plot.box()方法可以创建箱线图。箱线图通常用于显示数值变量的分布和离群值。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 创建数据集
np.random.seed(123)
df = pd.DataFrame({'x': np.random.normal(0, 1, 100)})
# 绘制箱线图
df.plot.box()
plt.show()
上面的代码创建了一个数据集,然后使用plot.box()方法创建了一个箱线图。
运行结果如图:
参数说明
plot() 方法的通用语法为:
DataFrame.plot(
kind=None,
axes=None,
figsize=None,
use_index=True,
title=None,
grid=None,
legend=True,
style=None,
logx=False,
logy=False,
loglog=False,
xticks=None,
yticks=None,
xlim=None,
ylim=None,
rot=None,
fontsize=None,
colormap=None,
table=False,
yerr=None,
xerr=None,
label=None,
secondary_y=False,
**kwds,
)
其中,常用的参数说明如下:
- kind:绘制图形的类型,如线形图 line,柱状图 bar,散点图 scatter 等。
- x:指定用于横坐标的列名或数组。
- y:指定用于纵坐标的列名或数组。
- title:图形的标题。
- xlabel:横坐标的标签。
- ylabel:纵坐标的标签。
- xlim:横坐标的显示范围。
- ylim:纵坐标的显示范围。
- figsize:图形的尺寸,用元组表示。
- legend:是否显示图例。
- color:图形的颜色,可以是字符串或元组。
- alpha:图形的透明度,取值范围为 [0, 1]。
- grid:是否显示网格线。
- style:用于控制线条样式的字符串。
- marker:用于指定散点图点的样式。
- s:散点图点的大小。
- c:散点图点的颜色。
- fontsize:图形中文本的字体大小。
- rot:x轴标签的旋转角度。
- kind:图形的种类。
- subplots:是否绘制子图。
本文链接:https://my.lmcjl.com/post/19899.html
4 评论