jupyter笔记本中的Plotly数据占用了大量内存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jupyter笔记本中的Plotly数据占用了大量内存相关的知识,希望对你有一定的参考价值。

我可能正在做一些非常愚蠢的事情,但我一直在使用我的jupyter笔记本中的情节离线

import plotly.offline as py
py.init_notebook_mode(connected=True)
from plotly.graph_objs import *

我正在尝试显示一系列可以使用滑块导航的图像。具有图像数据的整个numpy阵列是50个图像x 64宽x 64高。

我把它放到我在网上找到的代码拼凑在一起的下面的滑块功能中。返回的Figure对象本身并不是很大。然而,当调用plotly的iplot时,我的jupyter笔记本在磁盘上的大小(由ls -l测量)非常大 - 就像15 MB,即使numpy源数据像1MB。对于更大/更多的数字,这变得难以管理。有谁知道发生了什么?

def slider_ims(imgs):

    imgs = np.flip(imgs,1) 

    data = [dict(
            type='heatmap',
            z = imgs[step,:,:],
            visible = False,
            showscale=False,
            xaxis="x",
            yaxis="y",
            name = 'z = '+str(step)) for step in np.arange(imgs.shape[0])]
    data[0]['visible'] = True


    steps = []
    for i in range(len(data)):
        step = dict(
            method = 'restyle',
            args = ['visible', [False] * len(data)],
            label = str(i)
        )
        step['args'][1][i] = True # Toggle i'th trace to "visible"
        steps.append(step)

    sliders = [dict(
        active = 0,
        currentvalue = {"prefix": "Frame: "},
        pad = {"t": 50},
        steps = steps,
        ticklen = 0,
        minorticklen = 0
    )]

    layout = Layout(
             sliders = sliders,
             font=Font(family='Balto'),
             width=800,
             height=600,
            )


    fig=Figure(data=data, layout=layout)
    py.iplot(fig)
    return fig
答案

通常情节剧情的情节很大。您的笔记本电脑尺寸增加了,因为您使用内联图(py.iplot)将图表保存在笔记本上。 如果您不希望笔记本电脑如此之大,只需使用普通图(py.plot)并将图保存在另一个文件中。 您可以阅读plotly的文档

以上是关于jupyter笔记本中的Plotly数据占用了大量内存的主要内容,如果未能解决你的问题,请参考以下文章

甘特图上的显示问题(Jupyter、Plotly、Python)

在 jupyter notebook 中使用 plotly python 绘制具有不等热图的交互式树状图

具有Plotly / python数据框的语言环境库适用于jupyter,但不适用于Flask / dash

plotly express 情节已经褪色

Plotly Choropleth Map 未绘制

jupyter笔记本中的spark vs pandas数据框(带有大列)head(n)