使用embedpy在jupyterq中将绘图图形成像为图像



当我尝试将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][]

此外,尝试通过.p.e执行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')))"]

感谢您强调这个问题,目前我们还没有解决这个问题的方法,但GitHub上已经提出了一个问题https://github.com/KxSystems/jupyterq/issues/55目前正在对此进行调查。

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

要么覆盖违规功能

.qpk.mc:{y}

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

ipd[`:display]ipd[`:HTML]["<img src="data:image/png;base64,",.b64.enc[img`],"">"];

最新更新