mah*_*hna 3 python data-visualization data-science vega-lite altair
我正在尝试对大型(300,000 条记录)时态数据集进行直方图计数。我现在只是尝试按月绘制直方图,只有 6 个数据点,但是使用 json 或 altair_data_server 存储执行此操作会使页面崩溃。使用纯 Altair 无法很好地处理这种情况吗?我当然可以在 Pandas 中进行预处理,但这破坏了 Altair 美妙的声明性。
如果是这样,这是 altair 缺少的功能还是超出范围?我了解到 vegalite 存储整个基础数据并在运行时应用转换,但似乎 altair 可以(并且可能确实)有一种方法来仅存储图表的相关数据。
alt.Chart(df).mark_bar().encode(
x=alt.X('month(timestamp):T'),
y='count()'
)
Run Code Online (Sandbox Code Playgroud)
Altair 图表的工作原理是将整个数据集发送到您的浏览器并在前端进行处理;出于这个原因,它不适用于较大的数据集,无论数据集如何提供给前端。
在像您这样的情况下,您在显示数据之前聚合数据,理论上可以在后端进行聚合,并且只将聚合数据发送到前端渲染器。有一些项目希望使这更加无缝,包括可扩展的 Vega和altair-transform,但两种方法都还不够成熟。
同时,我建议在 Pandas 中进行聚合,并将聚合数据发送到 Altair 进行绘图。
| 归档时间: |
|
| 查看次数: |
2562 次 |
| 最近记录: |