python - 如何在 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')

但这似乎行不通。我在这里遗漏了什么明显的东西吗?

最佳答案

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

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

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

https://stackoverflow.com/questions/62528255/

相关文章:

git - $(NugetPackageRoot) 宏在 VS2019 中自动更改为 *.sfpro

postgresql - 无法使用 deno.js 连接到 postgres

node.js - 如何在 Couchbase NodeJS SDK 3X 中设置 operatio

node.js - 与 Prisma 2 相关的多个过滤器

python - Pandas 的 Mypy/typeshed stub

ios - Moya+Alamofire POST 请求在应用程序之间切换或进入后台时超时

java - 如何在 Tycho 构建中设置 Java 编译器兼容性?

amazon-web-services - 由于 Amplify 上的身份验证 token 过期较短

python - 如何防止vscode/ms-python清除测试结果?

ios - Safari 或 IOS 中视频的 aws-sdk getSignedUrl 不起作用