第一章 Matplotlib基础
1.1 什么是Matplotlib
Matplotlib是Python中最常用的数据可视化库之一,可以创建各种高质量的静态、动态和交互式图表。
- pyplot模块:Matplotlib的主要接口
- Figure:整个图形对象
- Axes:绘图区域
- 线条样式:颜色、线型、标记
💡 Matplotlib是数据科学中不可或缺的工具,掌握它可以让你的数据分析结果更加直观。
1.2 基本绘图语法
import matplotlib.pyplot as plt
# 创建简单折线图
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.title('Simple Line Plot')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()
第二章 常用图表类型
2.1 折线图
折线图用于展示数据随时间或连续变量的变化趋势。
# 折线图示例 plt.plot(x, y, color='blue', linestyle='-', marker='o', label='数据') plt.legend() plt.grid(True)
2.2 柱状图
柱状图用于比较不同类别之间的数值差异。
# 柱状图示例
categories = ['A', 'B', 'C', 'D']
values = [30, 45, 25, 50]
plt.bar(categories, values, color=['red', 'green', 'blue', 'orange'])
plt.title('Bar Chart')
plt.show()
2.3 散点图
散点图用于展示两个变量之间的关系。
# 散点图示例 import numpy as np x = np.random.rand(50) y = np.random.rand(50) colors = np.random.rand(50) sizes = 100 * np.random.rand(50) plt.scatter(x, y, c=colors, s=sizes, alpha=0.5) plt.colorbar() plt.show()
2.4 直方图
直方图用于展示数据的分布情况。
# 直方图示例
data = np.random.randn(1000)
plt.hist(data, bins=30, edgecolor='black')
plt.title('Histogram')
plt.show()
第三章 Seaborn高级可视化
3.1 Seaborn简介
Seaborn是基于Matplotlib的高级可视化库,提供更美观的默认样式和更高级的统计图表。
import seaborn as sns
import pandas as pd
# 设置风格
sns.set_style('darkgrid')
# 创建DataFrame
df = pd.DataFrame({
'Category': ['A', 'B', 'C', 'A', 'B', 'C'],
'Value': [10, 20, 15, 25, 30, 22]
})
# 绘制箱线图
sns.boxplot(x='Category', y='Value', data=df)
plt.show()
3.2 热力图
热力图用于展示矩阵数据的相关性。
# 热力图示例 corr_matrix = df.corr() sns.heatmap(corr_matrix, annot=True, cmap='coolwarm') plt.show()
第四章 实战练习
4.1 综合示例
创建包含多个子图的综合可视化:
💻 在线代码编辑器
练习题(共5题)
练习 1:创建折线图
使用Matplotlib创建简单的折线图。
练习 2:创建柱状图
使用Matplotlib创建柱状图展示不同产品的销量。
练习 3:创建散点图
创建散点图展示身高和体重的关系。
练习 4:创建直方图
使用直方图展示数据分布。
练习 5:创建子图布局
创建包含多个子图的综合可视化。
测试题(共 5 题,满分 100 分)
1. 以下哪个是Matplotlib的主要接口模块?
2. 用于创建折线图的Matplotlib函数是?
3. Seaborn是基于哪个库构建的?
4. 用于展示数据分布的图表类型是?
5. 创建子图布局的函数是?
作业提交
📝 数据可视化作业
请完成以下任务:
- 创建一个包含模拟销售数据的DataFrame
- 绘制折线图展示月度销售趋势
- 绘制柱状图展示产品销量对比
- 绘制散点图展示两个变量的关系
💻 作业代码提交