1. Matplotlib 概述
- 重要性与功能:Matplotlib 是 Python 中常用的 2D 绘图库,用于制作高质量图形、图表等可视化形式。提供广泛绘图选项(如折线图、散点图、柱状图、饼图等),适用于多种应用场景;能创建专业外观可视化,助于理解数据分析结果;在数据科学、机器学习、信号处理、金融分析等多领域广泛应用,灵活性和高度可定制性使其成为重要绘图工具。
2. 开始使用 Matplotlib
- 安装:确保已安装 Python,在终端(Windows 用命令提示符,macOS/Linux 用终端机)执行
pip install matplotlib完成安装。 - 基本语法:使用
import matplotlib.pyplot as plt引入库,基本绘图函数为plot(),如plt.plot([1, 2, 3, 4, 5], [2, 4, 6, 8, 10])绘制折线图,最后用plt.show()显示图表。
3. pyplot模块
- 基本绘图函数:提供多种基本绘图函数,如
plot()绘折线图、scatter()绘散点图、bar()绘条形图等,可在同一画布上绘制不同类型图表,如plt.plot([1, 2, 3, 4, 5], [2, 4, 6, 8, 10]); plt.scatter([1, 2, 3, 4, 5], [2, 4, 6, 8, 10]); plt.bar([1, 2, 3, 4, 5], [2, 4, 6, 8, 10]),然后plt.show()显示。 - 图表构成概念:图表由 “图(figure)”(画布)和 “坐标轴(axes)”(绘图区域)组成,绘图前通常先创建
figure,再添加一个或多个axes。
4. Matplotlib 绘图
- 不同类型绘图
- 折线图(Line Plot):用
plot()函数绘制,展示数据趋势,如plt.plot([1, 2, 3, 4, 5], [2, 4, 6, 8, 10])。 - 散点图(Scatter Plot):用
scatter()函数绘制,显示两变量关系,如plt.scatter([1, 2, 3, 4, 5], [2, 4, 6, 8, 10])。 - 条形图(Bar Plot):用
bar()函数创建,比较不同类别数据,如plt.bar([1, 2, 3, 4, 5], [2, 4, 6, 8, 10])。
- 折线图(Line Plot):用
- 基本绘图自定义:修改颜色、标签、标题、轴等属性使图表更具可读性和吸引力。通过参数设定,如
plt.plot([1, 2, 3, 4, 5], [2, 4, 6, 8, 10], label='Line Plot', color='blue')设置折线图颜色和标签,plt.xlabel('X axis label'); plt.ylabel('Y axis label'); plt.title('Title'); plt.legend()分别添加轴标签、标题和图例,最后plt.show()显示图表。
5. Matplotlib 图表元素自定义
- 标记(Markers):不同标记样式(如点标记
marker='.'、正方形标记marker='s'、三角形标记marker='^')用于散点图等,增强数据点区分度,如plt.scatter([1, 2, 3, 4, 5], [2, 4, 6, 8, 10], label='Data Points', color='blue', marker='s')。 - 线条(Line):提供多种线条类型(如实线
linestyle='-'、虚线linestyle='--'、点线linestyle=':'),适用于折线图等,如plt.plot([1, 2, 3, 4, 5], [2, 4, 6, 8, 10], label='solid line', linestyle='-')。 - 标签(Labels):用
plt.title()添加图表标题,plt.xlabel()和plt.ylabel()添加轴标签,plt.legend()添加图例解释曲线含义,如plt.plot([1, 2, 3, 4, 5], [2, 4, 6, 8, 10], label='Line 1'); plt.title('Title'); plt.xlabel('X axis label'); plt.ylabel('Y axis label'); plt.legend()。 - 网格(Grid):用
plt.grid(True)启用图表网格,可通过linewidth、linestyle、color参数自定义网格线条属性,如plt.grid(True, linestyle='--', linewidth=0.5, color='gray')。
6. Matplotlib 高级功能
- 子图(subplot)
- 创建:使用
plt.subplot(rows, cols, index)或plt.subplots(rows, cols)创建子图,前者指定行、列数和子图索引,后者创建子图网格,如plt.subplot(2, 1, 1); plt.plot(x, y1); plt.title('Sin Function'); plt.subplot(2, 1, 2); plt.plot(x, y2); plt.title('Cos Function'); plt.show()创建垂直排列的两个子图。 - 排列:水平排列用
plt.subplot(1, 2, 1)和plt.subplot(1, 2, 2),垂直排列用plt.subplot(2, 1, 1)和plt.subplot(2, 1, 2)。
- 创建:使用
7. 各类图表绘制示例
- 散点图(Scatter Plot):用
plt.scatter(x, y)创建,可调整点大小、颜色、形状等属性,如plt.scatter(x, y, s=100, c='blue', marker='o', label='Data Points'); plt.title('Title'); plt.xlabel('X-axis'); plt.ylabel('Y-axis'); plt.legend(); plt.show()。 - 条形图(Bar Plot):用
plt.bar(x, height)创建,可调整条形宽度、颜色、标签等,如plt.bar(categories, values, color=['red', 'green', 'blue'], width=0.5); plt.title('Title'); plt.xlabel('Categories'); plt.ylabel('Values'); plt.show()。 - 直方图(Histograms):用
plt.hist(data, bins)创建展示数据分布,如plt.hist(data, bins=30, color='skyblue', edgecolor='black'); plt.title('Title'); plt.xlabel('Values'); plt.ylabel('Frequency'); plt.show()。 - 饼图(Pie Charts):用
plt.pie(data, labels)创建,可调整颜色、阴影、起始角度等,如plt.pie(data, labels=labels, autopct='%1.1f%%', startangle=90, colors=['skyblue', 'lightcoral', 'lightgreen', 'lightsalmon', 'lightcyan']); plt.title('Title'); plt.show()。
8. 练习任务
- 目标:创建展示 2022 年全球前五电动汽车销售情况的条形图,包括汽车品牌(['Tesla', 'Nissan', 'BYD', 'Volkswagen', 'BMW’])和销售总额([1.9, 0.75, 0.72, 0.7, 0.38],单位:百万),并添加标签轴。
1553

被折叠的 条评论
为什么被折叠?



