19 高级图表绘制

19 高级图表绘制

在数据分析中,可视化是至关重要的一环,它有助于我们快速理解数据背后的信息。在Pandas中,我们可以使用MatplotlibSeaborn来创建各种类型的高级图表。以下是一些常用的高级图表绘制方法及其案例。

1. 散点图和趋势线

散点图用于显示两个变量之间的关系,配合Seabornlmplot()可以非常方便地添加趋势线。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 创建示例数据
data = {
'age': [23, 45, 25, 36, 50, 44, 32, 29, 45, 50],
'income': [50000, 60000, 49000, 52000, 58000, 64000, 52000, 58000, 72000, 80000]
}
df = pd.DataFrame(data)

# 绘制散点图并添加趋势线
sns.lmplot(x='age', y='income', data=df)
plt.title('Age vs Income with Trend Line')
plt.show()

2. 盒须图

盒须图是用于显示数据分布的好工具,特别是在比较不同类别的分布时。

1
2
3
4
5
6
7
8
9
10
11
# 创建示例数据
data = {
'category': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'value': [1, 2, 3, 5, 5, 6, 8, 9, 10]
}
df = pd.DataFrame(data)

# 绘制盒须图
sns.boxplot(x='category', y='value', data=df)
plt.title('Boxplot of Value by Category')
plt.show()

3. 热力图

热力图常用于显示变量之间的相关性,能够很直观地显示数据的分布情况。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 创建示例数据
data = {
'variable_1': [1, 2, 3, 4, 5],
'variable_2': [5, 4, 3, 2, 1],
'variable_3': [2, 3, 4, 5, 6],
'variable_4': [5, 6, 7, 8, 9]
}
df = pd.DataFrame(data)

# 计算相关性矩阵
correlation_matrix = df.corr()

# 绘制热力图
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Matrix Heatmap')
plt.show()

4. 多重图表

有时我们需要将多个图表组合在一起,以便于比较不同的数据集。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 创建示例数据
data1 = {'x': range(10), 'y1': [2*i for i in range(10)], 'y2': [3*i + 1 for i in range(10)]}
data2 = {'x': range(10), 'y3': [5*i - 2 for i in range(10)], 'y4': [6*i + 3 for i in range(10)]}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

fig, axs = plt.subplots(2, 1, figsize=(10, 8))

# 第一张图
axs[0].plot(df1['x'], df1['y1'], label='y1', color='blue')
axs[0].plot(df1['x'], df1['y2'], label='y2', color='red')
axs[0].set_title('First Chart')
axs[0].legend()

# 第二张图
axs[1].plot(df2['x'], df2['y3'], label='y3', color='green')
axs[1].plot(df2['x'], df2['y4'], label='y4', color='purple')
axs[1].set_title('Second Chart')
axs[1].legend()

plt.tight_layout()
plt.show()

结语

使用Pandas配合MatplotlibSeaborn可以轻松绘制出各种高级图表。通过这些图表,我们可以更好地理解和解释数据。在实际应用中,根据业务需求选择合适的图表类型将有助于数据的有效展示和分析。

作者

AI教程网

发布于

2024-08-08

更新于

2024-08-10

许可协议