12 数据可视化之简单的绘图

在上一篇中,我们讨论了如何进行数据分析,特别是关于数据的分组与聚合。在数据分析的过程中,常常需要将结果以图形的形式展示,以便更直观地理解数据。这一篇,我们将介绍如何使用 Pandas 进行简单的数据可视化,帮助大家快速掌握基本的绘图技能。

1. 使用 Pandas 的内置绘图功能

Pandas 提供了一个非常方便的绘图接口,它是基于 Matplotlib 的,但对用户进行了很好的封装。我们可以直接使用 Pandas 的 DataFrame 或 Series 进行绘图,而不需要深入了解 Matplotlib 的复杂设置。

1.1 基本的绘图

首先,我们先创建一个简单的 DataFrame,作为我们绘图的基础。

1
2
3
4
5
6
7
8
9
10
11
import pandas as pd
import numpy as np

# 创建一个简单的 DataFrame
data = {
'年份': [2018, 2019, 2020, 2021, 2022],
'销量': [50, 70, 65, 80, 90]
}

df = pd.DataFrame(data)
print(df)

这会生成以下 DataFrame:

1
2
3
4
5
6
    年份  销量
0 2018 50
1 2019 70
2 2020 65
3 2021 80
4 2022 90

接下来,我们可以使用 plot 方法生成图形。

1.2 绘制折线图

折线图是展示数据变化趋势的有效方式。我们可以使用以下代码绘制折线图:

1
2
3
4
5
6
7
8
9
import matplotlib.pyplot as plt

# 绘制折线图
df.plot(x='年份', y='销量', kind='line', marker='o')
plt.title('每年销量变化趋势')
plt.xlabel('年份')
plt.ylabel('销量')
plt.grid()
plt.show()

执行上述代码后,将会显示每年销量的变化趋势图。图中我们使用了 marker='o' 来标记各个数据点,以便更清晰地查看每年的销量变化。

1.3 绘制柱状图

柱状图是另一种常见的可视化方式,适合用来比较不同类别之间的数值。我们可以使用 kind='bar' 来绘制柱状图。

1
2
3
4
5
6
7
# 绘制柱状图
df.plot(x='年份', y='销量', kind='bar', color='skyblue')
plt.title('每年销量对比')
plt.xlabel('年份')
plt.ylabel('销量')
plt.xticks(rotation=0) # 让 x 轴的标签水平显示
plt.show()

这里我们改变了图的颜色,将其设为 skyblue,并将 x 轴标签的角度设置为 0,以提高可读性。

1.4 散点图

散点图适合显示两个数值变量之间的关系。从上面的数据来看,我们暂时只有一个数值变量,但我们可以生成一些随机数据来更好地演示。

1
2
3
4
5
6
7
8
9
10
# 生成随机数据
df['随机值'] = np.random.randint(1, 100, size=len(df))

# 绘制散点图
df.plot.scatter(x='销量', y='随机值', color='red')
plt.title('销量与随机值的散点图')
plt.xlabel('销量')
plt.ylabel('随机值')
plt.grid()
plt.show()

2. 结合实际案例

接下来,我们来看一个结合 Pandas 和 Matplotlib 的实际案例,以绘制一个多条折线图的情况。假设我们在分析多个产品的销量情况。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 创建示例数据
data = {
'年份': [2018, 2019, 2020, 2021, 2022],
'产品A': [50, 70, 75, 80, 90],
'产品B': [40, 65, 60, 85, 95],
'产品C': [30, 80, 70, 60, 80]
}

df_multi = pd.DataFrame(data)
df_multi.set_index('年份', inplace=True)

# 绘制多条折线图
df_multi.plot()
plt.title('多产品销量变化趋势')
plt.xlabel('年份')
plt.ylabel('销量')
plt.grid()
plt.legend(title='产品')
plt.show()

在这个例子中,我们可以清晰地看到不同产品在不同时期的销量变化趋势。

3. 总结

在这一部分中,我们学习了如何使用 Pandas 进行简单的绘图,包括折线图、柱状图和散点图等。通过以上的案例可以看出,Pandas 提供的绘图功能非常强大,适合快速生成可视化结果,帮助我们进行数据分析。

在下一篇中,我们将深入探讨如何结合 Matplotlib 进行更复杂和个性化的图形绘制,敬请期待!

12 数据可视化之简单的绘图

https://zglg.work/pandas-zero/12/

作者

AI免费学习网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论