一般来说,我们先用pandas
分析数据,然后用matplotlib
之类的可视化库来显示分析结果。
而pandas
库中有一个强大的工具--plot
函数,可以使数据可视化变得简单而高效。
1. plot 函数简介
plot
函数是pandas
中用于数据可视化的一个重要工具,
通过plot
函数,可以轻松地将DataFrame
或Series
对象中的数据以图形的形式展示出来。
plot
函数支持多种类型的图形,包括折线图、柱状图、散点图、饼图等,这些不同类型的图形适用于不同的数据分析场景。
此外,plot
函数还支持通过参数设置来调整图形的样式,如颜色、标签、图例等,以满足更加个性化的可视化需求。
plot
函数的参数名称和含义了matplotlib
绘图时的参数是类似的,
如果熟悉matplotlib
绘图的话,上手更快。
2. 数据准备
下面的示例中使用的数据采集自A股2024年1月和2月的真实交易数据。
数据下载地址:https://databook.top/。
导入数据:
import pandas as pd
import matplotlib.pyplot as plt
fp = r'D:\data\2024\历史行情数据-不复权-2024.csv'
df = pd.read_csv(fp)
df = df.loc[:, ["股票代码", "日期", "开盘", "收盘", "最高", "最低", "成交量"]]
df
3. 使用示例
针对上面的交易数据,下面演示如何用plot
函数快速绘图。
3.1. 折线图
折线图一般用于展示时间序列数据,可以提取某一支股票的数据并绘制出来。
# 提取870299这支股票
data = df.query("股票代码==870299")
data.index = data["日期"]
# 绘制每天最高价和最低价的曲线
data.loc[:, ["最高", "最低"]].plot(kind="line", title="股票870299", rot=45)
plt.show()
代码中有几个注意点:
data.index = data["日期"]
:plot
函数将索引列作为横轴,所以这里设置日期列为索引(index
)kind
参数:设置图形的类型,这里设置line
,表示折线图title
参数:设置图形的标题rot
参数:调整刻度的角度,这里将X轴的刻度旋转了45度,防止日期之间的重叠
3.2. 柱状图
柱状图多用于比对数据,下面我们用pandas
挑选几支股票,然后比对它们的开盘价和收盘价的平均值。
# 随便挑选一些股票代码
codes = [870299, 301138, 603825, 600579, 600640]
data = df.loc[:,["股票代码", "开盘", "收盘"]].query("股票代码==@codes")
# groupby之后,绘制各个股票开盘价和收盘价的平均值
data.groupby(by=["股票代码"]).mean().plot(kind="bar")
plt.show()
代码中的注意点:
kind
参数:设置图形的类型,这里设置bar
,表示柱状图groupby
之后,"股票代码"变为索引列,所以绘图时作为横轴
如果要绘制横向的柱状图,只要把kind
参数设置成barh
即可。
data.groupby(by=["股票代码"]).mean().plot(kind="barh")
3.3. 饼图
饼图是另一种比较数据的方式,它可以比较数据之间的占比,更好的看出各种数据的分布情况。
下面也随机挑选一些股票,用饼图比较它们的成交量情况。
codes = [870299, 301138, 603825, 600579, 600640]
data = df.loc[:,["股票代码", "成交量"]].query("股票代码==@codes")
data.groupby(by=["股票代码"]).sum()["成交量"].plot(kind="pie", autopct="%1.1f%%")
plt.show()
代码中的注意点:
kind
参数:设置图形的类型,这里设置饼图pie
,表示饼图autopct
参数:各个区域所占百分比的显示方式
3.4. 其他...
除了上面常用的图形,plot
函数还支持其他多种图形,其kind
参数目前支持的图形包括:
line
: 折线图bar
: 柱状图barh
: 横向柱状图hist
: 直方图box
: 箱型图kde
: 核密度估计图area
: 面积图pie
: 饼图scatter
: 散点图hexbin
: 六边形箱图
4. 总结
总的来说,plot
函数为数据分析师提供了一个强大而灵活的数据可视化工具。
通过plot函数,我们可以快速地将数据转化为直观的图形,从而更好地理解数据的分布、趋势和关系。
这种直观的理解有助于我们发现数据中的潜在模式,进而做出更加准确和有效的决策。
无论是初学者还是资深的数据分析师,都可以通过掌握plot
函数来提升自己的数据分析能力。