首页 > 解决方案 > 如何在 python 中使用 altair 包加载和绘制 csv 文件?

问题描述

我有一个包含 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')

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

标签: pythonaltair

解决方案


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

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

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


推荐阅读