0

当我尝试将 pyhton 中的绘图图显示为可以正常工作的图像时

import plotly.express as px
from IPython.display import Image

fig = px.scatter(x=range(10), y=range(10))
Image(fig.to_image(format="png"))

但是,当我通过 jupyterq 的 embedpy 尝试相同的操作时,图表不会显示

px:.p.import[`plotly.express]
ipd:.p.import[`IPython.display]

fig:px[`:scatter][`x pykw til 10; `y pykw til 10]
img:fig[`:to_image][`format pykw `png]
ipd[`:Image][img]

图表不会显示。我也尝试过积极展示它

ipd[`:display][ipd[`:Image][img]]

但这只是显示微小的通用图像缩略图

常规绘图显示正常

fig[`:show][]

此外,尝试通过 .pe 执行 python 代码不会显示图像,而只会显示缩略图

.p.e["import plotly.express as px"]
.p.e["from IPython.display import Image, display"]
.p.e["fig=px.scatter(x=range(10), y=range(10))"]
.p.e["Image(fig.to_image(format='png'))"]
.p.e["display(Image(fig.to_image(format='png')))"]
4

2 回答 2

0

感谢您强调这个问题,目前我们还没有解决这个问题,但在 GitHub https://github.com/KxSystems/jupyterq/issues/55上提出了一个问题,并且正在调查中。

于 2020-07-17T16:13:47.220 回答
0

问题似乎出在 .qpk.mc 函数中。解决此问题的两种方法,由同事提供:

要么覆盖有问题的功能

.qpk.mc:{y}

注入可以处理编码字符串的html

ipd[`:display]ipd[`:HTML]["<img src=\"data:image/png;base64,",.b64.enc[img`],"\">"];
于 2020-07-20T02:48:39.097 回答