gpt4 book ai didi

javascript - 通过推送数组将数据添加到 highstocks

转载 作者:行者123 更新时间:2023-12-03 11:13:10 28 4
gpt4 key购买 nike

一直在努力将数据从数组转移到图表中。这是我的代码,

<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "<%=ResolveUrl("Services/HighstockService.asmx/TempData") %>",
data: "{}", /* Sending specific indata */
dataType: "json",
success: function (Result) {
//debugger;
Result = Result.d;
var tempData = [];
for (var i in Result) {
var serie = new Array("[" + parseInt(Result[i].Date.substr(6)) + "," + Result[i].Value + "],");
tempData.push(serie);
}
DrawTempChart(tempData);
},
error: function (Result) {
alert("Error");
}
});
});
function DrawTempChart(tempData) {
debugger;
$('#tempChart').highcharts('StockChart', {
title: {
text: 'AAPL Stock Price'
},
type: 'datetime',
dateTimeLabelFormats: {
second: '%Y-%m-%d %H:%M:%S',
minute: '%Y-%m-%d %H:%M',
hour: '%Y-%m-%d %H:%M',
day: '%Y %m-%d',
week: '%Y %m-%d',
month: '%Y-%m',
year: '%Y'
},
series: [{
name: 'AAPL',
data: [tempData],
}]
});
}
</script>

我将括号和逗号添加到数组中的每个索引中,以遵循 highstocks 接受数据的结构。调试时,我收到如下数据:“[1418017375000,33],”。

由于 JavaScript 在从 Web 服务中移动日期时添加了括号和正斜杠,因此我需要解析日期。我不确定它在 javascript 中的格式是否正确以在图表中工作。

由于我确实无法调试 DrawTempChart 函数,因此我实际上不知道如何将数组发送到该函数中。谁能看出我做错了什么?

[编辑]可能应该补充一点,我最接近的输出是仅显示图表上数组中的最后一个索引。

最佳答案

首先,series中的data应该是这样的:

[[UTCTime1, value1], [UTCTime2, value2], ...]

因此将行 data: [tempData] 更改为:

data: tempData

其次,当你创建一个新的Array时,格式不是这样的:

var serie = new Array("[" + parseInt(Result[i].Date.substr(6)) + "," + Result[i].Value + "],");

你应该这样写:

var serie = new Array(parseInt(Result[i].Date.substr(6)), Result[i].Value);

它会自动添加[],:[item1, item2]

当您将 serie 插入 tempData 时,它还会将 , 放在项目之间。

最后,请确保 Result[i].Date.substr(6) 创建正确且已排序的 13 位 UTC 数字,因为 highcharts 不会对数据进行排序。

关于javascript - 通过推送数组将数据添加到 highstocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27465457/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com