导图社区 Matplotlib 功能全览
这是一篇关于Matplotlib 功能全览的思维导图,开篇介绍快速上手的 pyplot 状态机接口、面向对象接口 Figure 与 Axes;接着讲解基础绘图类型,包含一维数据、统计分布、柱状饼图、比例离散数据;之后覆盖图像等高线场、mpl_toolkits.mplot3d 三维绘图、图形元素定制,支持颜色、线型、标记、刻度、字体自定义。内容继续涵盖坐标轴与刻度、文本标注图例、布局子图、颜色映射;还包含样式全局配置、保存输出、animation 动画、交互事件、日期时间序列、几何图形集合、坐标变换、各类工具包 mpl_toolkits,以及与 NumPy、Pandas、Seaborn 等第三方库协作,最后汇总实用技巧速查。导图将 Matplotlib 从基础绘图、元素美化、多维度可视化、动画交互,到多库联动、绘图调优的全部能力进行归类整理,构建完整的 Matplotlib 知识框架,方便系统学习与快速查阅代码功能,掌握 Python 数据可视化全套绘图能力。无论学习 Python 数据分析的学生、做科研绘图的研究人员,或是需要制作可视化图表的开发人员,都可以借助这份思维导图快速掌握 Matplotlib 完整知识体系。
提示: 本内容由社区用户上传并分享。平台不对内容的真实性、合法性、知识产权归属及是否侵害第三方权利进行事前审核或保证。本内容可能包含受版权保护的图片、字体或其他第三方素材,使用前请自行确认授权范围。
这是一篇关于金属学核心知识导图的思维导图,主要内容包括:一、铁碳相图基础(Fe-C Diagram),二、钢的热处理原理,三、TTT曲线(等温转变图/C曲线),四、CCT曲线(连续冷却转变图),五、淬透性与淬硬性(重点区分),六、热处理工艺(四把火),七、强化机制与性能,八、常考易混概念对比。铁碳相图梳理各相成分、相变温度与组织转变规律,是理解钢材组织变化的根基;热处理原理介绍加热、保温、冷却阶段发生的各类组织转变;TTT 曲线和 CCT 曲线分别讲解等温转变、连续冷却转变的特点、绘制规律以及组织产物。导图区分淬透性与淬硬性两个高频易混概念,整理退火、正火、淬火、回火等主流热处理工艺,说明不同工艺的参数、组织变化与性能效果,还梳理金属各类强化机制,辨析常考名词,区分相近概念,厘清易错考点。内容聚焦考试高频重难点,把抽象的相变规律、性能逻辑串联起来,适合巩固核心考点、对比记忆易混淆知识点。
这是一篇关于金属学与热处理思维导图的思维导图,从金属晶体结构、纯金属结晶相关基础内容起步,讲解晶体特点、结晶条件、晶粒成长规律,依次介绍二元、三元合金相图,分析合金内部组织与性能之间的联系,同时阐述扩散机制、塑性变形和断裂、回复再结晶等金属组织变化的内在原理。内容涵盖钢的热处理原理与各类热处理工艺,细致讲解退火、正火、淬火、回火等工艺特点,还介绍工业用钢、铸铁以及有色金属合金的分类、成分特点、使用场景。附录汇总重点公式、图形速查资料和各类相变示意图,多处标记核心考点,兼顾基础理论知识和工程实际应用,知识点由浅入深,串联起金属微观组织变化、材料性能调控、选材应用等内容,便于梳理知识点、巩固重难点。无论材料专业的在校学生、备考相关考核的学习者,还是从事材料加工行业的从业者,都可以借助这份内容开展学习和复习。
这是一篇关于Matplotlib 功能全览的思维导图,开篇介绍快速上手的 pyplot 状态机接口、面向对象接口 Figure 与 Axes;接着讲解基础绘图类型,包含一维数据、统计分布、柱状饼图、比例离散数据;之后覆盖图像等高线场、mpl_toolkits.mplot3d 三维绘图、图形元素定制,支持颜色、线型、标记、刻度、字体自定义。内容继续涵盖坐标轴与刻度、文本标注图例、布局子图、颜色映射;还包含样式全局配置、保存输出、animation 动画、交互事件、日期时间序列、几何图形集合、坐标变换、各类工具包 mpl_toolkits,以及与 NumPy、Pandas、Seaborn 等第三方库协作,最后汇总实用技巧速查。导图将 Matplotlib 从基础绘图、元素美化、多维度可视化、动画交互,到多库联动、绘图调优的全部能力进行归类整理,构建完整的 Matplotlib 知识框架,方便系统学习与快速查阅代码功能,掌握 Python 数据可视化全套绘图能力。无论学习 Python 数据分析的学生、做科研绘图的研究人员,或是需要制作可视化图表的开发人员,都可以借助这份思维导图快速掌握 Matplotlib 完整知识体系。
社区模板帮助中心,点此进入>>
这是一篇关于金属学核心知识导图的思维导图,主要内容包括:一、铁碳相图基础(Fe-C Diagram),二、钢的热处理原理,三、TTT曲线(等温转变图/C曲线),四、CCT曲线(连续冷却转变图),五、淬透性与淬硬性(重点区分),六、热处理工艺(四把火),七、强化机制与性能,八、常考易混概念对比。铁碳相图梳理各相成分、相变温度与组织转变规律,是理解钢材组织变化的根基;热处理原理介绍加热、保温、冷却阶段发生的各类组织转变;TTT 曲线和 CCT 曲线分别讲解等温转变、连续冷却转变的特点、绘制规律以及组织产物。导图区分淬透性与淬硬性两个高频易混概念,整理退火、正火、淬火、回火等主流热处理工艺,说明不同工艺的参数、组织变化与性能效果,还梳理金属各类强化机制,辨析常考名词,区分相近概念,厘清易错考点。内容聚焦考试高频重难点,把抽象的相变规律、性能逻辑串联起来,适合巩固核心考点、对比记忆易混淆知识点。
这是一篇关于金属学与热处理思维导图的思维导图,从金属晶体结构、纯金属结晶相关基础内容起步,讲解晶体特点、结晶条件、晶粒成长规律,依次介绍二元、三元合金相图,分析合金内部组织与性能之间的联系,同时阐述扩散机制、塑性变形和断裂、回复再结晶等金属组织变化的内在原理。内容涵盖钢的热处理原理与各类热处理工艺,细致讲解退火、正火、淬火、回火等工艺特点,还介绍工业用钢、铸铁以及有色金属合金的分类、成分特点、使用场景。附录汇总重点公式、图形速查资料和各类相变示意图,多处标记核心考点,兼顾基础理论知识和工程实际应用,知识点由浅入深,串联起金属微观组织变化、材料性能调控、选材应用等内容,便于梳理知识点、巩固重难点。无论材料专业的在校学生、备考相关考核的学习者,还是从事材料加工行业的从业者,都可以借助这份内容开展学习和复习。
这是一篇关于Matplotlib 功能全览的思维导图,开篇介绍快速上手的 pyplot 状态机接口、面向对象接口 Figure 与 Axes;接着讲解基础绘图类型,包含一维数据、统计分布、柱状饼图、比例离散数据;之后覆盖图像等高线场、mpl_toolkits.mplot3d 三维绘图、图形元素定制,支持颜色、线型、标记、刻度、字体自定义。内容继续涵盖坐标轴与刻度、文本标注图例、布局子图、颜色映射;还包含样式全局配置、保存输出、animation 动画、交互事件、日期时间序列、几何图形集合、坐标变换、各类工具包 mpl_toolkits,以及与 NumPy、Pandas、Seaborn 等第三方库协作,最后汇总实用技巧速查。导图将 Matplotlib 从基础绘图、元素美化、多维度可视化、动画交互,到多库联动、绘图调优的全部能力进行归类整理,构建完整的 Matplotlib 知识框架,方便系统学习与快速查阅代码功能,掌握 Python 数据可视化全套绘图能力。无论学习 Python 数据分析的学生、做科研绘图的研究人员,或是需要制作可视化图表的开发人员,都可以借助这份思维导图快速掌握 Matplotlib 完整知识体系。
Matplotlib 功能全览
1 快速上手(pyplot 状态机接口)
1.1 基础流程命令
import matplotlib.pyplot as plt
—— 标准导入方式
plt.plot(x, y)
—— 绘制折线图(最核心命令)
plt.show()
—— 显示图形窗口
plt.figure(num, figsize, dpi)
—— 创建/激活一个画布
plt.close()
—— 关闭图形('all' 关闭全部)
plt.clf() / plt.cla()
—— 清空当前 Figure / 当前 Axes
1.2 快速修饰命令
plt.title(s)
—— 设置标题
plt.xlabel(s) / plt.ylabel(s)
—— 设置坐标轴标签
plt.xlim(a, b) / plt.ylim(a, b)
—— 设置坐标轴范围
plt.legend()
—— 显示图例
plt.grid(True)
—— 显示网格
plt.savefig(fname)
—— 保存图片到文件
2 面向对象接口(Figure 与 Axes)
2.1 创建对象
fig, ax = plt.subplots()
—— 推荐入口,同时得到画布和坐标区
plt.subplots(nrows, ncols)
—— 一次创建子图网格
fig.add_axes([l, b, w, h])
—— 按归一化坐标手动放置 Axes
fig.add_subplot(2, 2, 1)
—— 在 Figure 上添加子图
plt.gca() / plt.gcf()
—— 获取当前 Axes / Figure
2.2 Figure 常用方法
fig.suptitle()
—— 整幅图总标题
fig.set_size_inches(w, h)
—— 设置画布尺寸
fig.set_dpi()
—— 设置分辨率
fig.subplots_adjust()
—— 手动调整子图间距
fig.text(x, y, s)
—— 在画布任意位置写文字
fig.colorbar(mappable)
—— 添加色条
2.3 Axes 常用方法
ax.set_title() / set_xlabel() / set_ylabel()
—— 标题与轴标签
ax.set_xlim() / set_ylim()
—— 坐标范围
ax.set_xticks() / set_xticklabels()
—— 刻度与刻度文字
ax.legend(loc=)
—— 图例及位置
ax.grid(which, axis, linestyle)
—— 网格细调
ax.axhline() / ax.axvline()
—— 水平/垂直参考线
ax.axvspan() / ax.axhspan()
—— 色块区间标注
ax.tick_params()
—— 刻度外观统一控制
3 基础绘图类型
3.1 一维数据
ax.plot(x, y, fmt)
—— 折线图/标记图,fmt 如 'ro--'
ax.scatter(x, y, s, c, marker)
—— 散点图,支持逐点大小颜色
ax.step(x, y, where)
—— 阶梯图
ax.stem(x, y)
—— 茎图(火柴杆图)
ax.fill_between(x, y1, y2)
—— 区域填充
ax.errorbar(x, y, yerr, xerr)
—— 误差线图
ax.stackplot(x, y1, y2...)
—— 堆叠面积图
3.2 统计分布
ax.hist(x, bins, density)
—— 直方图
ax.hist2d(x, y, bins)
—— 二维直方图
ax.boxplot(data)
—— 箱线图
ax.violinplot(data)
—— 小提琴图
ax.hexbin(x, y, gridsize)
—— 六边形分箱密度图
ax.ecdf(x)
—— 经验累积分布图(3.8+)
ax.eventplot(positions)
—— 事件图
3.3 柱状与饼图
ax.bar(x, height)
—— 垂直柱状图
ax.barh(y, width)
—— 水平条形图
ax.bar_label()
—— 给柱子标数值
ax.pie(x, labels, autopct, explode)
—— 饼图
底部/堆叠参数
bottom=
—— 实现堆叠柱状图
3.4 比例与离散数据
ax.stairs(values, edges)
—— 阶梯直方曲线
分类轴直接传字符串 ——
ax.bar(['A','B'], [1,2])
ax.plot_date()
—— 日期折线(旧接口,推荐直接 plot)
4 图像、等高线与场
4.1 二维数组可视化
ax.imshow(Z, cmap, origin, extent)
—— 显示图像/矩阵
ax.matshow(Z)
—— 矩阵可视化(imshow 特化)
ax.pcolormesh(X, Y, Z)
—— 伪彩色网格图
ax.pcolor(X, Y, Z)
—— 类似 pcolormesh(较慢)
4.2 等高线
ax.contour(X, Y, Z, levels)
—— 等高线
ax.contourf(X, Y, Z, levels)
—— 填充等高线
ax.clabel(CS)
—— 给等高线加数值标签
4.3 矢量场与流场
ax.quiver(X, Y, U, V)
—— 箭头矢量场
ax.streamplot(X, Y, U, V)
—— 流线图
ax.barbs()
—— 风羽图
4.4 不规则网格
ax.triplot() / tripcolor() / tricontour()
—— 三角网格绘图
5 3D 绘图(mpl_toolkits.mplot3d)
5.1 创建 3D 坐标区
fig.add_subplot(projection='3d')
—— 创建 3D Axes
plt.subplots(subplot_kw={'projection':'3d'})
5.2 常用 3D 命令
ax.plot(x, y, z)
—— 3D 折线
ax.scatter(x, y, z)
—— 3D 散点
ax.plot_surface(X, Y, Z, cmap)
—— 曲面图
ax.plot_wireframe(X, Y, Z)
—— 线框图
ax.contour3D / contourf3D
—— 3D 等高线
ax.bar3d()
—— 3D 柱状图
ax.view_init(elev, azim)
—— 设置观察视角
ax.set_zlabel() / set_zlim()
—— z 轴设置
6 图形元素定制
6.1 颜色 color
单字符:'b' 蓝 'g' 绿 'r' 红 'c' 青 'm' 品红 'y' 黄 'k' 黑 'w' 白
名称/十六进制/'#RRGGBB'/(r,g,b) 元组
灰度字符串 '0.5' —— 0 黑 1 白
6.2 线型 linestyle / ls
'-'
实线、
'--'
虚线、
'-.'
点划线、
':'
点线
linewidth / lw
—— 线宽
drawstyle='steps-pre'
等 —— 折线连接方式
6.3 标记 marker
'.' 'o' 's' '^' 'v' '<' '>' 'D' 'p' '*' 'h' 'x' '+' '|' '_'
markersize / ms
markerfacecolor / mfc
markeredgecolor / mec
markevery
—— 隔几个点标一个标记
6.4 透明度与层级
alpha
—— 0~1 透明度
zorder
—— 绘制叠放顺序
6.5 格式字符串 fmt
'[marker][line][color]'
组合,如
'o--g'
7 坐标轴与刻度
7.1 轴范围与比例
ax.set_xlim / set_ylim
—— 手动范围
ax.autoscale()
margins()
—— 自动边距
ax.set_aspect('equal')
—— 等比例坐标轴
ax.invert_xaxis() / invert_yaxis()
—— 反转轴
ax.set_xscale('log'/'symlog'/'logit')
—— 轴缩放类型
plt.semilogx / semilogy / loglog
—— 对数图快捷命令
7.2 刻度控制(ticker 模块)
MultipleLocator
—— 等间距刻度
FixedLocator
—— 指定位置刻度
MaxNLocator
—— 最多 N 个刻度
LogLocator
—— 对数刻度
AutoMinorLocator
—— 自动次刻度
FuncFormatter
—— 自定义刻度文字函数
FormatStrFormatter('%.2f')
—— 格式化字符串
PercentFormatter
—— 百分比显示
ax.xaxis.set_major_locator(...)
—— 应用定位器
7.3 轴线(spines)
ax.spines['top'].set_visible(False)
—— 隐藏上边框
ax.spines['left'].set_position(('data', 0))
—— 把轴移到原点
set_color() / set_linewidth()
—— 轴线样式
7.4 多轴与共享
ax.twinx() / ax.twiny()
—— 双 y 轴 / 双 x 轴
subplots(sharex=True, sharey=True)
—— 共享坐标轴
ax.secondary_xaxis()
—— 第二套换算刻度
7.5 极坐标
add_subplot(projection='polar')
—— 极坐标图
ax.set_theta_zero_location() / set_theta_direction()
—— 角度方向
ax.set_rlabel_position()
—— 径向标签位置
8 文本、标注与图例
8.1 文字
ax.text(x, y, s)
—— 数据坐标写文字
ax.set_title(s, fontsize, loc)
—— 标题及对齐
fontdict
fontsize
fontweight
fontfamily
—— 字体属性
plt.rcParams['font.sans-serif']
—— 全局中文字体设置
axes.unicode_minus=False
—— 解决负号乱码
$...$
—— mathtext 数学公式(LaTeX 子集)
plt.rcParams['text.usetex']=True
—— 用本机 LaTeX 渲染
8.2 标注
ax.annotate(text, xy, xytext, arrowprops)
—— 带箭头标注
arrowprops=dict(arrowstyle='->', connectionstyle='arc3')
—— 箭头样式
bbox=dict(boxstyle='round', fc='w')
—— 文字背景框
8.3 图例
ax.legend(loc, ncol, frameon, fontsize)
—— loc: best/upper right/...
label=
参数 + legend() —— 常规添加方式
bbox_to_anchor
—— 把图例放到图外
fig.legend()
—— 整图共享图例
句柄手动指定
legend(handles=[...])
8.4 表格
ax.table(cellText, rowLabels, colLabels, loc)
—— 图内表格
9 布局与子图
9.1 自动布局
plt.tight_layout()
—— 自动收紧防重叠
fig.set_constrained_layout(True)
或
subplots(layout='constrained')
—— 约束布局
9.2 手动布局
plt.subplots_adjust(left, right, wspace, hspace)
—— 手动间距
plt.subplot2grid((3,3),(0,0),colspan=2)
—— 网格定位子图
matplotlib.gridspec.GridSpec
—— 灵活子图网格
fig.add_gridspec()
+
add_subplot(gs[...])
—— 对象式 GridSpec
plt.subplot_mosaic([['A','A'],['B','C']])
—— 马赛克式声明布局
9.3 嵌入小图
ax.inset_axes([x, y, w, h])
—— 图中小图
mpl_toolkits.axes_grid1.inset_locator.zoomed_inset_axes
—— 局部放大图
ax.indicate_inset_zoom()
—— 放大区域连线
10 颜色映射(colormap)
10.1 使用色图
cmap='viridis' / 'plasma' / 'inferno' / 'magma' / 'cividis'
—— 感知均匀色图
'coolwarm' / 'RdBu'
—— 发散色图
'jet' / 'rainbow'
—— 彩虹色图(不推荐用于严谨数据)
plt.colormaps()
—— 列出全部内置色图
plt.get_cmap(name)
—— 获取色图对象
cmap_r
后缀 —— 反转色图
10.2 归一化
matplotlib.colors.Normalize(vmin, vmax)
—— 线性归一化
LogNorm
SymLogNorm
—— 对数归一化
TwoSlopeNorm(vcenter)
—— 中心发散归一化
BoundaryNorm
—— 离散分段归一化
10.3 色条与自定义
fig.colorbar(mappable, ax, shrink, label)
—— 添加色条
ListedColormap
—— 用颜色列表自建色图
LinearSegmentedColormap.from_list()
—— 渐变自建色图
cmap.set_bad() / set_over() / set_under()
—— 越界与缺失颜色
11 样式与全局配置
11.1 样式表
plt.style.use('ggplot' / 'seaborn-v0_8' / 'bmh' / 'fivethirtyeight' ...)
plt.style.available
—— 查看可用样式
plt.style.context()
—— 临时样式上下文
11.2 rcParams 全局参数
plt.rc(group, **kwargs)
—— 设置一组参数
plt.rcParams['figure.figsize'] = (8, 6)
—— 默认画布大小
plt.rcParams['font.size']
'lines.linewidth'
'axes.grid'
plt.rc_context(dict)
—— 临时参数上下文
plt.rcdefaults()
—— 恢复默认
matplotlibrc
文件 —— 永久配置文件,
matplotlib.matplotlib_fname()
查位置
12 保存输出
12.1 savefig 参数
plt.savefig('fig.png', dpi=300)
—— 位图:png/jpg/tiff
矢量格式:pdf / svg / eps
bbox_inches='tight'
—— 裁掉多余白边
pad_inches
—— 留白边距
transparent=True
—— 透明背景
facecolor / edgecolor
—— 背景色
12.2 交互与显示模式
plt.ion() / plt.ioff()
—— 交互模式开关
plt.pause(t)
—— 动态刷新
%matplotlib inline / notebook / widget / qt
—— Jupyter 后端选择
matplotlib.use('Agg')
—— 无界面服务器后端
matplotlib.get_backend()
—— 查看当前后端
13 动画(animation 模块)
13.1 两种动画方式
FuncAnimation(fig, func, frames, interval, blit)
—— 逐帧函数式动画(推荐)
ArtistAnimation(fig, artists, interval)
—— 预生成 Artist 列表播放
13.2 保存动画
anim.save('a.gif', writer='pillow')
—— 存 GIF
anim.save('a.mp4', writer='ffmpeg')
—— 存 MP4(需装 ffmpeg)
anim.to_jshtml()
—— Jupyter 内 HTML5 播放
14 交互与事件
14.1 事件绑定
fig.canvas.mpl_connect('button_press_event', handler)
—— 鼠标点击
'key_press_event'
—— 键盘事件
'motion_notify_event'
'pick_event'
—— 移动 / 拾取
ax.format_coord
—— 自定义状态栏坐标显示
ax.set_picker()
—— 让图形可被拾取
14.2 交互控件(widgets 模块)
Slider
Button
RadioButtons
CheckButtons
TextBox
Cursor
LassoSelector
mpl_toolkits
内
SpanSelector
RectangleSelector
—— 区域选择
15 日期与时间序列
15.1 日期绘图
matplotlib.dates.date2num()
—— 日期转数值
AutoDateLocator / AutoDateFormatter
—— 自动日期刻度
DayLocator / MonthLocator / YearLocator
—— 按粒度定位
DateFormatter('%Y-%m-%d')
—— 日期格式
fig.autofmt_xdate()
—— 自动旋转日期标签防重叠
15.2 单位支持
matplotlib.units
—— 自定义单位注册(pandas、datetime 自动转换)
16 几何图形与集合(patches / collections)
16.1 patches 几何元素
Rectangle / Circle / Ellipse / Polygon / Wedge / Arc / FancyArrow / FancyBboxPatch
ax.add_patch(p)
—— 把图形加到坐标区
fill / facecolor / edgecolor / hatch
—— 填充、边色、纹理
16.2 collections 高效批量绘制
LineCollection
—— 大量线段(如渐变折线)
PolyCollection
PathCollection
—— 多边形 / 标记批量
17 坐标变换(transforms)
17.1 四种坐标系
ax.transData
—— 数据坐标(默认)
ax.transAxes
—— Axes 坐标 (0~1)
fig.transFigure
—— Figure 坐标 (0~1)
transforms.blended_transform_factory(ax.transData, ax.transAxes)
—— 混合坐标
17.2 投影
matplotlib.projections
—— polar / 3d / 自定义投影
18 常用工具包(mpl_toolkits)
mplot3d
—— 三维绘图
axes_grid1
—— 等高尺寸子图网格 ImageGrid、anchored 色条
axisartist
—— 自由曲线坐标轴
basemap
(已停更,建议转 cartopy) —— 地图投影
19 与其他库协作
NumPy —— 数据基础,数组直接传入
pandas ——
df.plot()
底层即 matplotlib;
fig, ax = plt.subplots(); df.plot(ax=ax)
seaborn —— 基于 matplotlib 的统计绘图,可混用 ax
cartopy / geopandas —— 地理空间绘图
pillow ——
plt.imread()
读取图片
20 实用技巧速查
中文乱码:
rcParams['font.sans-serif']=['SimHei']
+
rcParams['axes.unicode_minus']=False
一图多线:
ax.plot(x, y1, x, y2)
或循环
关闭科学计数法:
ax.ticklabel_format(style='plain')
等宽色条:
fig.colorbar(im, ax=axs.ravel().tolist())
重置一切:
plt.close('all'); plt.rcdefaults()
调试:
fig.canvas.draw()
强制重绘;
plt.get()
查询属性