Day 081 — Matplotlib 与 Plotly 可视化
✅ 今日完成清单
- [ ] 了解 Matplotlib 架构(Figure → Axes → Artist)
- [ ] 掌握折线图、柱状图、散点图、饼图、箱线图、热力图
- [ ] 使用 GridSpec 创建复杂子图布局
- [ ] 掌握样式系统和中文显示配置
- [ ] 了解 Plotly 交互式可视化基础
- [ ] 完成股票数据仪表盘实战
- [ ] 完成下方练习题
📝 基础练习题
练习 1:多图表绘制
用 Matplotlib 生成以下数据的可视化:
python
x = range(1, 11)
y1 = [i**2 for i in x] # 平方
y2 = [i**3 for i in x] # 立方
要求:
- 用一条代码同时绘制两条曲线
- 添加图例、标题、坐标轴标签
- 设置网格线
- 保存为 exercise_1.png
练习 2:柱状图美化
创建一个柱状图,展示5个学生的成绩:
python
students = ['Alice', 'Bob', 'Charlie', 'Diana', 'Eve']
scores = [85, 92, 78, 95, 88]
要求: - 每个柱子用不同颜色 - 在柱子上方显示具体分数 - 成绩低于80的用红色高亮 - 设置合理的 y 轴范围
练习 3:子图布局
用 plt.subplots(2, 2) 创建 2×2 子图:
- 左上:绘制 sin(x) 曲线
- 右上:绘制 cos(x) 曲线
- 左下:绘制 tan(x) 曲线(注意截断 y 轴范围)
- 右下:绘制 x^2 抛物线
🚀 进阶挑战题
挑战 1:动态仪表盘
使用 FuncAnimation 创建一个实时更新的折线图,模拟实时数据流。
挑战 2:Plotly 交互图表
用 Plotly 创建一个散点图,要求: - 支持鼠标悬停显示详情 - 支持图例点击过滤 - 添加下拉菜单切换不同的数据视图
挑战 3:自定义样式库
创建一个 .mplstyle 样式文件,包含:
- 自定义颜色循环
- 统一的字体大小
- 关闭顶部和右侧边框
- 设置网格线样式