Matplotlib是Python最经典稳定的二维绘图库,适合科研教学等注重准确性的场景;支持快速绘图、面向对象结构、多种图表类型及样式导出。

Matplotlib 是 Python 最经典、最成熟的二维绘图库,掌握它相当于拿到了数据可视化的“基本通行证”。它不追求炫酷动效,但胜在稳定、可控、可定制性强,特别适合科研、报表、教学等注重准确性和复现性的场景。
一、快速上手:画出第一个折线图
安装后只需几行代码就能出图:
- 用 plt.plot(x, y) 绘制基础折线(x、y 是等长列表或数组)
- 用 plt.xlabel()、plt.ylabel()、plt.title() 添加标签和标题
- 调用 plt.show() 弹出图形窗口(脚本中必须加,Jupyter 中可省略)
示例:
import matplotlib.pyplot as pltplt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.title("我的第一张图")
plt.show()
二、图形结构:理解 figure、axes 和 subplot
Matplotlib 的核心是面向对象(OO)接口,推荐显式创建 figure(画布)和 axes(坐标系),避免依赖全局状态:
立即学习“Python免费学习笔记(深入)”;
MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。MATLAB基础知识;命令窗口是用户与MATLAB进行交互作业的主要场所,用户输入的MATLAB交互命令均在命令窗口执行。 感兴趣的朋友可以
-
plt.figure() 创建新画布,可指定大小:
fig = plt.figure(figsize=(8, 5)) - fig.add_subplot(111) 或更推荐的 fig.subplots() 获取 axes 对象
- 所有绘图操作都通过 ax.plot()、ax.set_title() 等方法进行,清晰可控
多子图时,fig, axs = plt.subplots(2, 2) 会返回 2×2 的 axes 数组,直接用 axs[0, 1].scatter(...) 指定位置绘图。
三、常用图表类型与关键参数
不同图表只需换函数名,但注意关键参数让图更专业:
-
散点图:用
ax.scatter(x, y, s=20, c='red', alpha=0.7),s控制点大小,c设颜色,alpha调透明度防重叠 -
柱状图:用
ax.bar(labels, values);横向用barh;多组并列可传入width和调整x坐标实现分组 -
直方图:用
ax.hist(data, bins=30, density=False),bins控制分组数,density=True可归一化为概率密度 -
图例/网格/刻度:
ax.legend()、ax.grid(True)、ax.set_xticks([0, 1, 2])等按需添加
四、样式与导出:让图拿得出手
默认样式偏朴素,两步提升视觉效果:
-
换风格:运行
plt.style.use('seaborn-v0_8')或'ggplot'等内置样式,立即美化整体配色与边框 -
导出高清图:用
fig.savefig("myplot.png", dpi=300, bbox_inches='tight'),dpi控制分辨率,bbox_inches='tight'自动裁掉空白边距 - 中文显示问题?在绘图前加:
plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS']并设置plt.rcParams['axes.unicode_minus'] = False









