小编psy*_*esp的帖子

为什么plotlyexpress比plotlygraph_objects性能好得多?

我正在可视化包含 400K 到 250 万个点的散点图。我预计在可视化之前需要进行下采样,但为了看看我在plotlyexpress 中使用 400k 数据集进行了多少试点测试,并且绘图快速、美观且响应迅速地弹出。

为了制作交互式图形,我确实需要使用plotly.graph_objects,因为我需要具有不同色阶的多条迹线,所以我用graph_objects制作了基本相同的图形,它不仅速度较慢,还使我的计算机崩溃了。

我真的很想尽可能少地进行下采样,并且我对这两种方法之间的纯粹性能差异感到惊讶,所以我想这可以归结为我的问题:

为什么存在如此大的性能差异?是否可以更改 graph_objects 中的布局/图形/任何参数以缩小差距?

这是一个片段,显示了我所说的基本相同的图表的含义:

图对象

        fig = go.Figure()
        fig.add_trace(go.Scatter(x = x_values, y = y_values, opacity = opacity, marker = {
                'size': size,
                'color': community,
                'colorscale': colorscale
            }))
Run Code Online (Sandbox Code Playgroud)

表达

        pacmap_map = px.scatter(x = x_values, y = y_values, color_continuous_scale=colorscale,  opacity = opacity, color = community)
        pacmap_map.update_traces(marker = {
                'size': size
            })

Run Code Online (Sandbox Code Playgroud)

我本来期望性能是相同的,或者至少在相同的范围内,但 Express 的工作就像一个梦想,而 graph_objects 会崩溃 jupyter 内核以及它运行的任何 IDE,所以有很大的差异。

python plotly plotly-express

4
推荐指数
1
解决办法
1798
查看次数

标签 统计

plotly ×1

plotly-express ×1

python ×1