本地Jupyter环境中soup_bowl无法生成3D图,与Coursera实验室效果不符
本地Jupyter环境中soup_bowl无法生成3D图形的排查方案
核心解决步骤
对齐依赖库版本
Coursera实验室的环境有固定的库版本约束,本地matplotlib、numpy等核心库版本差异可能导致渲染异常。先检查当前版本,再匹配实验室指定版本:# 查看当前matplotlib和numpy版本 pip list | grep -E "matplotlib|numpy" # 安装实验室对应版本(示例版本,需替换为Coursera环境实际版本) pip install matplotlib==3.7.1 numpy==1.24.3补全3D绘图关键代码逻辑
检查本地soup_bowl实现代码,确认包含以下3D绘图必要要素:- 通过
projection='3d'创建3D坐标轴 - 用
np.meshgrid生成网格数据 - 调用
plot_surface绘制曲面
参考标准实现片段:
import matplotlib.pyplot as plt import numpy as np %matplotlib widget fig = plt.figure() ax = fig.add_subplot(projection='3d') # 生成soup bowl曲面数据 x = np.linspace(-5, 5, 100) y = np.linspace(-5, 5, 100) X, Y = np.meshgrid(x, y) Z = X**2 + Y**2 # 绘制3D曲面 ax.plot_surface(X, Y, Z, cmap='viridis', alpha=0.8) plt.show()- 通过
配置Jupyter交互扩展
即使%matplotlib widget生效,可能缺少3D交互所需的扩展支持:# 安装ipympl扩展 pip install ipympl # 启用Jupyter扩展 jupyter nbextension enable --py widgetsnbextension jupyter nbextension enable --py ipympl完成后重启Jupyter内核再测试。
更换兼容浏览器
部分旧版浏览器对matplotlib 3D widget的渲染支持不足,建议使用Chrome或Firefox最新版本打开Jupyter页面。
内容的提问来源于stack exchange,提问作者user22872128
相关产品推荐
相关产品推荐

