使用Matplotlib和Seaborn进行数据可视化是数据分析中非常重要的一部分。以下示例展示了如何使用这两个库来创建各种图表,包括基本的线图、柱状图、散点图和高级的分类数据可视化图表。
安装 Matplotlib 和 Seaborn
如果你还没有安装这两个库,可以使用以下命令进行安装:
pip install matplotlib seaborn
示例代码
1. 导入库
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
2. 准备数据
我们将使用一个示例数据集。
# 创建示例数据
np.random.seed(0)
data = pd.DataFrame({
'A': np.random.normal(0, 1, 100),
'B': np.random.normal(5, 2, 100),
'C': np.random.normal(-2, 4, 100),
'D': np.random.randint(1, 4, 100),
'E': np.random.choice(['Group 1', 'Group 2', 'Group 3'], 100)
})
3. Matplotlib 基本图表
线图
plt.figure(figsize=(10, 6))
plt.plot(data['A'], label='Series A')
plt.plot(data['B'], label='Series B')
plt.xlabel('Index')
plt.ylabel('Values')
plt.title('Line Plot')
plt.legend()
plt.show()
柱状图
plt.figure(figsize=(10, 6))
plt.bar(np.arange(len(data['A'])), data['A'], label='Series A')
plt.xlabel('Index')
plt.ylabel('Values')
plt.title('Bar Plot')
plt.legend()
plt.show()
散点图
plt.figure(figsize=(10, 6))
plt.scatter(data['A'], data['B'], c='blue', label='A vs B')
plt.xlabel('Series A')
plt.ylabel('Series B')
plt.title('Scatter Plot')
plt.legend()
plt.show()
4. Seaborn 高级图表
分布图
plt.figure(figsize=(10, 6))
sns.histplot(data['A'], kde=True)
plt.title('Distribution Plot')
plt.show()
箱形图
plt.figure(figsize=(10, 6))
sns.boxplot(x='E', y='A', data=data)
plt.title('Box Plot by Group')
plt.show()
分类散点图(带抖动)
plt.figure(figsize=(10, 6))
sns.stripplot(x='E', y='A', data=data, jitter=True)
plt.title('Strip Plot with Jitter')
plt.show()
热力图
corr = data[['A', 'B', 'C']].corr()
plt.figure(figsize=(8, 6))
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.title('Heatmap of Correlation Matrix')
plt.show()
5. 综合示例
下面是一个综合示例,展示如何将多个图表放在一个画布上。
fig, axes = plt.subplots(2, 2, figsize=(15, 10))
# 线图
axes[0, 0].plot(data['A'], label='Series A')
axes[0, 0].plot(data['B'], label='Series B')
axes[0, 0].set_title('Line Plot')
axes[0, 0].legend()
# 散点图
axes[0, 1].scatter(data['A'], data['B'], c='blue', label='A vs B')
axes[0, 1].set_title('Scatter Plot')
axes[0, 1].legend()
# 分布图
sns.histplot(data['A'], kde=True, ax=axes[1, 0])
axes[1, 0].set_title('Distribution Plot')
# 箱形图
sns.boxplot(x='E', y='A', data=data, ax=axes[1, 1])
axes[1, 1].set_title('Box Plot by Group')
plt.tight_layout()
plt.show()
代码解释
- 导入库:首先导入Matplotlib和Seaborn库。
- 准备数据:使用NumPy和Pandas创建一个示例数据集。
- Matplotlib 基本图表:包括线图、柱状图和散点图,展示如何使用Matplotlib进行基本的数据可视化。
- Seaborn 高级图表:包括分布图、箱形图、分类散点图和热力图,展示如何使用Seaborn进行高级的数据可视化。
- 综合示例:将多个图表放在一个画布上,展示如何创建复杂的可视化布局。
通过这些示例,你可以学习如何使用Matplotlib和Seaborn进行各种类型的数据可视化,实际应用中可以根据具体需求进行扩展和调整。
标签:Plot,面试题,plt,Seaborn,Python,axes,示例,title,data From: https://blog.csdn.net/bigorsmallorlarge/article/details/140625474