簡體   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