【发布时间】:2021-06-10 18:38:14
【问题描述】:
我正在寻找图表
- 50 万个数据点
- x 轴以毫秒为单位,我希望能够以某种格式对其进行标记以显示毫秒:例如 hh:mm:ss:msms
- 我希望能够放大/平移以查看更小的时间段
更多上下文
我有一个 16-30mb 的 json 文件。它有 EOG 数据,类似于 EEG,但它跟踪的是眼球运动而不是脑电波。 eog 记录来自一夜的睡眠。
[
{millisecondsPassed: 188, EogReading:400},
{millisecondsPassed: 230, EogReading:423},
{millisecondsPassed: 399, EogReading:512},
{millisecondsPassed: 443, EogReading:431},
...etc. 500k times...
]
我尝试了什么
我试过chart.js。加载大量数据非常困难。它的性能更差,我添加了chartjs-zoom-plugin 来启用缩放。
我尝试了dygraphs,它似乎没有办法使用自定义 x 轴标签,所以我无法在标签上显示以毫秒为单位的时间,时间仅以日期显示(2021 年 6 月 10 日)。但也许我错了,有办法。
是否有适合我的用例的优秀图形库或更好地利用这些库的方法?
【问题讨论】:
-
你看过 apexcharts 还是只是简单的 d3js?对于如此庞大的数据集,也许 JS 不是正确的语言。也许你对 pyton 有更多的运气
-
dygraphs 看起来有用于轴标签的选项,它可以是日期或数字字段——也许你应该使用毫秒而不是使用日期(也许从 0 开始作为数据的开头)。
-
@SuperDJ 我还没有看过其中任何一个。我的感觉是 js 可能是错误的语言,但我在 js 中比在 python 中更舒服。
-
您需要编写与显示的图形交互的代码。屏幕上只有几个 K 像素,因此尝试绘制更多像素是没有意义的。您的数据需要平均到当前缩放时间轴上的 1500 个点。
-
@DaveNewton 我会进一步研究,我在 github 上发现了一个问题,说不可能,但它是从 2016 年开始的,可能已经过时了。
标签: javascript graph charts data-visualization bioinformatics