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

Jupyter Notebook中添加matplotlib垂直线仅返回Line2D对象无图形问题

问题排查与解决

你遇到的核心问题是绘图代码与添加垂直线的代码分属不同单元格:绘制密度图的单元格已经完成图形输出,后续添加垂直线的代码仅生成了Line2D对象,但没有触发图形的重新渲染,所以看不到最终效果。

具体解决方法:

  • 合并代码到同一单元格:把绘图和添加垂直线的逻辑放在同一个单元格执行,pandas会在同一个绘图上下文里完成所有操作并自动显示图形:
graph1 = sakila['film_replacement_cost'].plot(kind='density', figsize=(20,10))
graph1.axvline(sakila['film_replacement_cost'].mean(), color='red')
  • 显式调用plt.show():如果必须分单元格执行,在添加垂直线的代码末尾加上plt.show(),强制触发图形渲染:
graph1.axvline(sakila['film_replacement_cost'].mean(), color='red')
plt.show()
  • 确认%matplotlib inline生效:如果重启过Jupyter内核,要重新执行包含%matplotlib inline的单元格,确保该魔法命令在当前会话中启用。

另外,也可以直接用matplotlib原生API绘制,逻辑更直观:

plt.figure(figsize=(20,10))
sakila['film_replacement_cost'].plot(kind='density')
plt.axvline(sakila['film_replacement_cost'].mean(), color='red')
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:06:32