原理考察:Seaborn 的函数(如 scatterplot, lineplot, barplot 等)通常设计为同时支持“过程式”(直接画在当前激活的 axes 上)和“面向对象式”(通过 ax 参数指定具体的 Axes 对象)。
代码分析:
fig, ax = plt.subplots(...) 创建了一个 Figure 和一个 Axes 对象。
sns.scatterplot(..., ax=ax) 明确指定将数据绘制在 ax 这个对象上。这是推荐的最佳实践,特别是在需要精细控制布局或多子图时。
ax.set_title(...) 直接操作该 Axes 对象设置标题。
因此,图表和标题会完美结合在同一个坐标系中。
错误选项分析:
A 错:Seaborn 绝大多数绘图函数都支持 ax 参数。
B 错:指定了 ax 后,不会创建新窗口,而是复用传入的对象。
D 错:如果不传 ax,默认才是 plt.gca();传了 ax 则优先使用传入对象。