【问题标题】:How to extract the data from highstock chart如何从 highstock 图表中提取数据
【发布时间】:2015-03-19 14:29:18
【问题描述】:

假设我在网站上有一个示例 highstock 图表,例如 this。我想知道是否可以单独从图表中提取数据(即图表是由第三人创建的,其他人无法访问用于图表的数据)。

<img src="http://www.highcharts.com/stock/demo/basic-line">

【问题讨论】:

  • 用于生成图表的数据是通过异步 HTTP (Ajax) 请求加载的。你可以在这里查看:highcharts.com/samples/data/…? ....您可以使用文件输入,以便用户可以添加自己的数据。
  • 在这里,您可以查看。但是,有些网站的数据对用户不可见。我的目标是在只给你图表时提取数据。

标签: javascript json highcharts


【解决方案1】:

是的。每个图表都存储在 HighChart 的 Highcharts.charts 数组中。在您链接的当前包含一个图表的页面上:

Highcharts.charts
-> [ z.Chart ]

这是一个包含该图表中所有数据的对象。我们可以通过从Highcharts.charts 数组索引(本例中为0)中选择它来查看它:

Highcharts.charts[0]
-> z.Chart { ... }

这包含您需要的所有信息。每个图表对象都包含一个series 属性,该属性是一个数组,其中包含图表呈现的每个系列的数据。每个系列中都存在一个data 属性,其中包含其中的所有数据,name 属性包含系列的名称。

例如:

Highcharts.charts[0].series[0].name
-> "APPL"
Highcharts.charts[0].series[0].data
-> Array[1774]

HighCharts 的文档采用与其创建的 JavaScript 对象相同的格式。可以在这里查看:http://api.highcharts.com/highcharts

【讨论】:

  • [james-donnelly] 提供了访问数据系列的方法,问题是我们如何从图表中提取数据?
  • @prgbenz 数据系列是图表上的点数组。您可以简单地遍历每个点以提取您需要的信息。
  • @JamesDonnelly 谢谢!但是数据是可显示的,但无法访问,因为作者和我正在尝试从图表中提取数据。我可以破解 .js 吗?
【解决方案2】:

其实如果你下载带有图表的页面,你可以很容易地提取数据。它将存储在主 *.html 文件中。

这不是实际数据,而是图表中每个点的位置。但是你只需要扩展它以获得你想要的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 2012-02-14
    相关资源
    最近更新 更多