如何在 python 中使用 altair 包加载和绘制 csv 文件?

How to load and plot csv file using altair package in python?

我有一个包含 200000 行的 csv 文件,我想使用 altair packagae 绘制数据文件。文档指出对于大文件,数据需要作为 URL 传递。这是我目前所拥有的。

import  altair
alt.data_transformers.enable('csv')
url = 'path/to/data'

chart = alt.chart(url).mark_line.encode(x= 'time:T', y = 'current:Q')
chart.save('name.html')

但这似乎不起作用。我在这里遗漏了一些明显的东西吗?

当您通过 URL 传递数据集并将图表保存到 HTML 时,重要的是 URL 对 您的网络浏览器有效用于查看 HTML 文件.

因此,如果您在本地查看图表并希望加载本地文件,请使用适当的 file:// URL。如果您打算在支持相对 URL 加载资源的 Web 服务器中查看文件,请在 HTML 文件位置和数据文件位置之间传递相对 URL .

但是,作为旁注,您提到您的数据有 200,000 行:无论您如何将数据传递给 Vega-Lite 渲染器,它都不太可能在处理这么多数据时表现良好。我个人的经验法则是避免 Altair/Vega-Lite 超过 ~10,000 行左右的数据集。

除了@jakevdp 所说的之外,我注意到的另一件事是,在定义情节时,您在代码中 mark_line 之后遗漏了括号“()”。 我尝试通过此修改在较小的数据集上实现代码,并且效果很好。