当我尝试使用plotly 在 JupyterLab 中制作 3D 绘图时,我有时收到错误消息:
您的浏览器不支持 WebGL - 请访问 https://get.webgl.org 了解更多信息
这是怎么回事?类似的问题也有人问过
但似乎没有人专门询问 JupyterLab,所以我希望你们中的一些人知道为什么会出现此错误。
详情:
我正在对以下脚本运行不同的测试,生成下面的图:
代码:
import plotly.graph_objects as go
import numpy as np
# Helix equation
t = np.linspace(0, 20, 100)
x, y, z = np.cos(t), np.sin(t), t
fig = go.Figure(data=[go.Scatter3d(
x=x,
y=y,
z=z,
mode='markers',
marker=dict(
size=12,
color=z, # set color to an array/list of desired values
colorscale='Viridis', # choose a colorscale
opacity=0.8
)
)])
# tight layout
fig.update_layout(margin=dict(l=0, r=0, b=0, t=0))
fig.show()
剧情:
似乎根据我在这里尝试执行的操作,上述错误会不时发生。这就是最让我烦恼的;这里似乎没有一个明确的模式。有时,绘图会短暂显示,然后会弹出错误消息。有时它会完全崩溃。当它第一次崩溃时,重新启动内核并没有帮助。再次启动 JupyterLab 也不会。唯一有帮助的是重新启动计算机。
当我点击 JupyterLab 中的错误消息时:
我被引导至
https://get.webgl.org/
,显示:
这不是很有帮助吗?大家有什么想法吗?
系统信息:
Plotly 4.2.0
JupyterLab Version 0.34.9
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)]
Chrome 77 on Windows 7, 64 bit ( not that that should matter?)
我通过 Firefox 使用 Jupyter Notebook 并使用最新的图形驱动程序时遇到了同样的问题。在 Firefox 上,我可以通过将 webgl.disabled 设置从 True 更改为 False 来解决这个问题。
在地址栏中输入“about:config”。单击“谨慎继续”,然后输入“webgl.disabled”并确保该设置保存为 False。
我也遇到了同样的问题,我可以通过更改渲染模式来解决它, 默认情况下,渲染模式设置为“auto”,这会将其转换为 WebGL 如果你设置 render_mode='svg' 它很有可能会起作用。
例如:
fig = px.scatter(..., render_mode='svg')