Zeppelin图像显示带有base64编码内容而不是HTML转换

时间:2016-12-20 20:22:20

标签: apache-zeppelin

我目前正在使用Zeppelin和Seaborn进行一些可视化,但是显示机制会自动将图像转换为HTML,这会立即占用我所有的RAM。 (数据点太多)。

另一方面,Jupyter很容易处理它,看起来它只是在Base64字符串中对图像内容进行编码。

是否有可能在Zeppelin中模仿这种行为?或者,更好的是,将其配置为默认的图像处理机制?

1 个答案:

答案 0 :(得分:1)

我不知道是否可以覆盖默认行为,但这可以通过html魔法手动实现。例如:

def show(graphics):
    graphics.savefig("../tmp.png")
    with open("../tmp.png", "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read())
    return """%html <img src="data:image/png;base64,{}" />""".format(encoded_string.decode())

使用base64编码的png返回html字符串对我的数据更有效,我可能会在任何地方使用它。