繁体   English   中英

将Poloniex API回调JSON转换为适合Highcharts.Stockchart的格式

[英]Converting Poloniex API Callback JSON into format suitable for Highcharts.Stockchart

我正在尝试从Poloniex的公共API方法(特别是returnChartData方法)获取JSON,以将加密货币的图表历史记录彼此相对显示为Highchart Stockchart图(看起来像此处演示 )。

这是我的JavaScript代码的一部分,该代码使用Poloniex returnChartData回调,从中获取JSON并将其实现到图表的“数据”部分中。 到目前为止,这是行不通的,我无法终生弄清楚需要改变的地方。

var poloniexUrl = "https://poloniex.com/public?command=returnChartData&currencyPair=BTC_XMR&start=1405699200&end=9999999999&period=14400";
$.getJSON(poloniexUrl, function(data){
  results = data;
});
// Creates Chart
var chart = new Highcharts.StockChart({


chart: {
 renderTo: 'cryptoChart',
 backgroundColor: 'white'
},

title: {
  text: currentTitle
},

series: [{
  data: results,
  turboThreshold: 1000
}],

xAxis: {
 original: false
},

rangeSelector: {
 selected: 1
},

plotOptions: {
 line: {
  gapSize: 2
 }
}
});

希望有帮助!

请参阅此现场演示: http : //jsfiddle.net/kkulig/0f4odg5q/

如果使用turboThreshold则点的选项需要以整数或数组形式给出( 说明: https : turboThreshold )。 在您的情况下,格式为JSON,因此我禁用了turboThreshold以防止Higcharts错误12https://www.highcharts.com/errors/12 ):

  turboThreshold: 0

$.getJSON是异步的-确保data变量已初始化的最佳方法是在回调函数( getJSON第二个参数)中使用它:

$.getJSON(poloniexUrl, function(data) {

  // Creates Chart
  var chart = new Highcharts.StockChart({
    chart: {
    (...)

您获取的数据看起来像烛台系列-我更改了系列的类型:

  type: 'candlestick'

如果将日期保留在JSON对象的x属性中(而不是date ),Highcharts将正确理解date

  data: data.map((p) => {
    p.x = p.date;
    return p
  }),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM