[英]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¤cyPair=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错误12 ( https://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.