自学内容网 自学内容网

Python面试题:使用Matplotlib和Seaborn进行数据可视化

使用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()

代码解释

  1. 导入库:首先导入Matplotlib和Seaborn库。
  2. 准备数据:使用NumPy和Pandas创建一个示例数据集。
  3. Matplotlib 基本图表:包括线图、柱状图和散点图,展示如何使用Matplotlib进行基本的数据可视化。
  4. Seaborn 高级图表:包括分布图、箱形图、分类散点图和热力图,展示如何使用Seaborn进行高级的数据可视化。
  5. 综合示例:将多个图表放在一个画布上,展示如何创建复杂的可视化布局。

通过这些示例,你可以学习如何使用Matplotlib和Seaborn进行各种类型的数据可视化,实际应用中可以根据具体需求进行扩展和调整。


原文地址:https://blog.csdn.net/bigorsmallorlarge/article/details/140625474

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!