我正在想象一个400K到250万之间的散点图.我预计在可视化之前需要下采样,但为了看看我在Plotly Express中使用400K数据集进行了多少试点测试,曲线图迅速、漂亮且react 灵敏地弹出.
为了制作交互图形,我真的需要使用plotly.graph_Objects,因为我需要使用不同 colored颜色 比例的多个轨迹,所以我使用graph_Objects制作了基本上相同的图形,它不仅速度更慢,还导致我的计算机崩溃.
我真的想尽可能少地缩减样本,我对这两种方法之间的巨大性能差异感到惊讶,所以我想这可以归结为我的问题:
Why is there such a performance difference and is it possible to change layout/figure/whatever parameters in graph_objects so to close the gap?个
下面这段代码显示了我所说的基本相同的图表的含义:
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
}))
express
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
})
我本来希望性能是相同的,或者至少在相同的范围内,但Express的工作就像一个梦,而graph_Objects会导致jupyter内核和运行它的任何IDE崩溃,所以有很大的差异.