You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib绘制箱线图:如何避免自动显示图像?

解决Matplotlib箱线图自动显示的问题

出现这种情况通常是因为你在交互式环境(比如Jupyter Notebook/Lab)中运行代码,Matplotlib默认的交互式后端会自动渲染并显示绘图,哪怕没调用plt.show()。可以用以下两种方法解决:

方法一:切换为非交互式后端

修改Matplotlib的后端为非交互式类型(比如Agg),这样就不会自动显示图像:

import matplotlib
# 切换到非交互式后端,需在导入pyplot前执行
matplotlib.use('Agg')
import matplotlib.pyplot as plt

df = {'A': [34.54, 34.345, 34.761], 'B': [34.541, 34.748, 34.482]}
bp = plt.boxplot(df.values())

方法二:使用面向对象的绘图方式

显式创建Figure和Axes对象,避免依赖pyplot的全局状态,同样能阻止自动显示:

import matplotlib.pyplot as plt

df = {'A': [34.54, 34.345, 34.761], 'B': [34.541, 34.748, 34.482]}
# 显式创建绘图容器
fig, ax = plt.subplots()
bp = ax.boxplot(df.values())

两种方法都能让你只将箱线图对象赋值给变量,而不会自动弹出或显示图像。

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 13:42:23