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

如何在Jupyter Notebook中绘制无编号的交互式Matplotlib图表?

解决Jupyter Lab中%matplotlib widget图表的标题编号问题

你遇到的问题是因为直接修改plt.figure()的num参数会破坏ipympl(%matplotlib widget对应的后端)的交互组件绑定,导致图表失去动态更新能力。试试下面两种不影响交互性的解决方案:

方法1:单独修改当前图表的标题显示

创建图表后,直接通过canvas的属性隐藏顶部标题,不影响交互功能:

%matplotlib widget
import matplotlib.pyplot as plt

# 初始化图表
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 1])

# 移除顶部的"Figure X"编号
fig.canvas.header_visible = False

方法2:全局配置默认隐藏标题

如果需要所有widget图表都自动去掉编号,可以提前配置matplotlib的参数:

%matplotlib widget
import matplotlib.pyplot as plt

# 全局设置:关闭所有widget图表的顶部标题
plt.rcParams['figure.widgetheader'] = False

# 后续创建的图表都会默认隐藏编号
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 1])

这两种方法都能保留%matplotlib widget的核心功能——比如缩放、平移、后续动态更新数据,同时移除讨厌的标题编号。举个更新数据的例子,依然能正常工作:

# 动态更新图表内容,交互性不受影响
ax.plot([1, 2, 3], [2, 3, 4])
fig.canvas.draw()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:45:54