Matplotlib 是 Python 中最流行的数据可视化库之一,广泛用于生成静态、动态和交互式图表。以下是关键功能和使用方法的概述:
安装 Matplotlib
通过 pip 安装最新版本:
pip install matplotlib
若需支持 Jupyter Notebook 的交互功能,可附加安装 ipympl
:
pip install ipympl
基础绘图示例
生成简单的折线图:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y)
plt.xlabel('X轴标签')
plt.ylabel('Y轴标签')
plt.title('基础折线图')
plt.show()
常用图表类型
散点图
plt.scatter(x, y, color='red', marker='o') plt.show()
柱状图
plt.bar(['A', 'B', 'C'], [3, 7, 4], color='blue') plt.show()
饼图
plt.pie([30, 40, 30], labels=['Group A', 'Group B', 'Group C'], autopct='%1.1f%%') plt.show()
直方图
import numpy as np data = np.random.randn(1000) plt.hist(data, bins=30, alpha=0.5) plt.show()
高级功能
子图布局
使用 subplots
创建多图:
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))
ax1.plot(x, y, 'r--')
ax2.scatter(x, y, c='green')
plt.show()
自定义样式
通过 rcParams
全局设置样式:
plt.rcParams['font.family'] = 'SimHei' # 设置中文字体
plt.rcParams['axes.grid'] = True # 启用网格
保存图表
将图表导出为图片:
plt.savefig('plot.png', dpi=300, bbox_inches='tight')
交互式功能
在 Jupyter Notebook 中启用交互模式:
%matplotlib widget
plt.plot(x, y)
plt.show() # 可缩放/平移图表
扩展库推荐
- Seaborn:基于 Matplotlib 的高级统计图表库,简化复杂可视化。
- Plotly:生成交互式动态图表,适合 Web 应用。
- Basemap(已迁移至 Cartopy):地理空间数据绘图。
通过结合这些工具,可以高效完成从基础到专业的可视化需求。