【问题标题】:Javascript library to chart/graph electrophysiological data -large data over hours用于图表/图形电生理数据的 Javascript 库 - 数小时内的大数据
【发布时间】: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


【解决方案1】:

屏幕上只有几个 K 像素,因此尝试绘制比可见点更多的点是没有意义的。您需要查看当前时间轴的代码,从该范围内选择您的数据,将其平均到 1500 点,然后使用任何半体面的绘图库对其进行绘图。

不要把这项工作留给图书馆!有些人只会一遍又一遍地在同一个像素上绘制。其他人将使用您无法控制的自己的平均算法。

我经常对“我有一个棘手的小问题,我应该使用哪个库来解决它 - 哦,该库必须免费提供”这样的问题感到惊讶。想一想:当a)编码人员对您的棘手问题一无所知并且b)编码人员不会为工作付费时,您认为库中代码的质量会是多少。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    相关资源
    最近更新 更多