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

VSCode Jupyter环境中Plotly Express的px.imshow()无法正常显示图像的解决咨询

解决VSCode Jupyter环境中Plotly Express px.imshow()显示异常的问题

我之前也碰到过一模一样的情况——在.py脚本里能正常显示Plotly图像,但放到VSCode的Jupyter单元格里就出问题,大概率是VSCode的Jupyter渲染环境和普通Python进程的渲染逻辑差异导致的,这里有几个靠谱的解决办法:

1. 将PIL Image转换为NumPy数组

CIFAR10返回的img_99是PIL Image对象,Plotly在Jupyter环境中对PIL格式的支持有时候会有兼容性问题,转成NumPy数组就能解决大部分显示异常:

from torchvision import datasets
import os
import plotly.express as px
import numpy as np  # 新增导入

os.chdir("books/deep-learning-with-pytorch")
data_path = os.path.join(os.getcwd(),"data")
cifar10 = datasets.CIFAR10(data_path, train = True, download = True)
img_99, lab = cifar10[101]

# 转换为NumPy数组
img_array = np.array(img_99)
fig = px.imshow(img_array)
fig.show()

2. 指定Plotly的渲染器

VSCode的Jupyter环境需要明确指定适配的渲染器,你可以在代码开头添加渲染器配置:

import plotly.io as pio
# 设置VSCode兼容的渲染器
pio.renderers.default = 'vscode'
# 如果上面的不行,也可以试试:
# pio.renderers.default = 'notebook'

之后再运行你的绘图代码,就能在VSCode的Jupyter单元格内正常显示图像了。

3. 升级依赖版本

如果以上方法都没用,可能是Plotly或者VSCode Jupyter扩展的版本不兼容:

  • 升级Plotly到最新版本:
    pip install --upgrade plotly
    
  • 打开VSCode的扩展市场,找到「Jupyter」插件,点击「更新」按钮确保它是最新版本。

4. 临时替代方案:强制在浏览器显示

如果只是想快速验证图像,也可以直接指定在浏览器打开图像:

fig.show(renderer='browser')

这个方法和你在.py文件中运行的效果一致,但图像会在外部浏览器打开而不是VSCode内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 12:09:09