繁体   English   中英

无法使用 Kaleido 将 plotly 图像导出为 png

[英]Unable to export plotly images to png with Kaleido

之前没用过plotly,一直在尝试导出一个sample image code to png。 我已经安装了 plotly 和 kaleido 并在 python 3 上运行代码,但没有任何反应。

#Here is the code:

import plotly.express as px
import numpy as np
    
# RGB Data as numpy array
img_rgb = np.array([[[255, 0, 0], [0, 255, 0], [0, 0, 255]],], dtype=np.uint8)
  
fig = px.imshow(img_rgb)
fig.show()

fig.write_image("fig.png")

根据 plotly 文档,这应该可以解决问题,但我无法获得 png 图像。 它没有显示错误,没有警告......就像 python 陷入了无限循环。 我什至无法阻止终端运行。

我正在使用 python 3.9.6 64 位
我试过 plotly 最新版本(5.3.1)和旧版本(4.14.3),但我遇到了同样的问题。
python -m pip install plotly

kaleido 是最新版本(0.2.1),但我也尝试过版本(0.2.0)。
python -m pip install -U kaleido

我做错了什么?

更新:我在另一台计算机上尝试过相同的过程,并且工作正常。 知道为什么第一台计算机不运行代码吗?

我遇到过同样的问题。 尝试了一切。 没有任何效果。 然后终于安装了orca。 和..,它的工作.!! 如果没有任何效果,我建议在使用 Plotly 时为 static 图像写入安装 Orca。

fig.write_image('fig1.png', engine='orca')

我面临着与上述相同的问题。 但奇怪的是,它在我的机器上工作,但在用户的机器上不工作。

  • 我们都有 Windows Enterprise 10,相同版本相同的更新,...(由软件中心分发)
  • 我们有相同的 Python 环境(相同的 conda env,由软件中心分发给所有数据科学家,用户无权访问此目录进行更新)
  • 我们在相同的 conda 环境中从 Anaconda 提示运行完全相同的测试代码
  • 我们不能因为这种分布就简单的降级kaleido的版本
  • 对于两者,它与 ORCA 一起工作(所以它是 kaleido 提出的问题)

到目前为止我能发现的唯一区别是我们的机器本身。 我在 Intel 上运行,他在 AMD 处理器上运行。

好吧,实际上还有一秒钟。 我用英语运行我的 Windows,他用荷兰语运行。

上面没有使用 1.2 的人,建议检查你的处理器。 在我的 Intel 上可以,在他的 AMD 上不行。

而且,对于那些没有工作的人:你在英文版的 Windows 上运行吗?

如果您安装了kaleido ,您应该在对象write_image中将engine指定为kaleido

我可以使用解决方案重新创建以下产品:

import plotly.express as px
import numpy as np

    
# RGB Data as numpy array
img_rgb = np.array([[[255, 0, 0], [0, 255, 0], [0, 0, 255]],], dtype=np.uint8)
  
fig = px.imshow(img_rgb)
fig.show()

fig.write_image('fig.png', engine='kaleido')

结果图像: 图片

保存图像的结果路径: image_saved_to_path

我运行 Windows 10 企业版,这对我有用:

将 Kaleido 降级到 0.1.0post1 版本(这是 0.1.* 中的最新版本):

pip install --upgrade "kaleido==0.1.*"

然后图像创建开始工作。 另见:

https://stackoverflow.com/a/71621135/660259

有趣的事? kaleido v0.2.1 在 Windows Server 2019 上运行良好,但在我的工作计算机 Windows 10 Enterprise 上运行良好

我有同样的问题。

按照这里的讨论https://github.com/plotly/Kaleido/issues/36我禁用了 mathjax

import plotly.io as pio
pio.kaleido.scope.mathjax = None

瞧! 地块开始出现。

显然这应该从 plotly v. 5 开始修复,但事实并非如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM