我用的是高股票。js用于创建比较图,但由于我一次计算了三条曲线的数据,因此将它们放入一个变量中,并将它们拆分以获得我的单独json。
msg=[[1384972200000,2],[1385058600000,4],[1385145000000,5]]~~[[1384972200000,0],[1385058600000,0]]~~[[1384972200000,1],[1385058600000,1],[1385145000000,1]]
var data = msg.split("~~");
因为我有三个曲线,所以我有一个循环不使用getJSON,所以我删除了它,只调用函数
$(function() {
var seriesOptions = [],
yAxisOptions = [],
seriesCounter = 0,
names = ['Requested', 'Submitted', 'Approved'],
colors = Highcharts.getOptions().colors;
var data;
$.ajax({
type: "POST",
url: "highstockPPAP.cgi",
})
.done(function( msg ) {
data = msg.split("~~");
});
$.each(names, function(i, name) {
//as Iam not using this getJSON how to remove it
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename='+ name.toLowerCase() +'-c.json&callback=?',function test() {
var newdata=JSON.parse(data[i]);
seriesOptions[i] = {
name: name,
data: newdata
};
// As we're loading the data asynchronously, we don't know what order it will arrive. So
// we keep a counter and create the chart when all the data is loaded.
seriesCounter++;
if (seriesCounter == names.length) {
createChart();
}
});
});
// create the chart when all data is loaded
function createChart() {
Highcharts.setOptions({
global: {
useUTC: false
}
});
$('#container').highcharts('StockChart', {
chart: {
},
rangeSelector: {
selected: 4
},
xAxis: {
type: 'datetime',
ordinal: false, //this sets the fixed time formats
},
yAxis: {
//labels: {
// formatter: function() {
//return(this.value);
// return (this.value > 0 ? '+' : '') + this.value + '%';
// }
//},
plotLines: [{
value: 0,
width: 2,
color: 'silver'
}]
},
plotOptions: {
//series: {
// compare: 'percent'
//}
},
tooltip: {
// pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.change}%)<br/>',
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',
valueDecimals: 0
},
series: seriesOptions,
exporting: {
enabled: false
}
});
}
});
});
当我删除getJSON并只保留函数时,不会加载任何内容。怎么办?
好吧,让我们试着改变你代码中的一些东西:
1) 将您的消息更改为以下内容:
msg= [
[ [[1384972200000,2],[1385058600000,4],[1385145000000,5]] ],
[ [[1384972200000,0],[1385058600000,0]] ],
[ [[1384972200000,1],[1385058600000,1],[1385145000000,1]] ]
]
因此,您将有三个数组,这将是正确的JSON。然后,您就不需要使用split和解析数据了。
2) 之后创建图表。ajax()已完成,请参见:
$.ajax({
type: "POST",
url: "highstockPPAP.cgi",
}).done(function( data ) {
$.each(data, function(i, d) {
seriesOptions[i].data = d;
});
createChart();
});
3)删除下一个每个():
$.each(names, function(i, name) { ... } );
更改json并在一个json中传递所有值
[[[1384972200000,2],[1385058600000,4],[1385145000000,5]],[[1384972200000,0],[1385058600000,0]],[[1384972200000,1],[1385058600000,1],[1385145000000,1]]]
并使用以下链接访问json元素作为数组,最终javascript如下所示:
$( document ).ready(function() {
$(function() {
var seriesOptions = [],
yAxisOptions = [],
seriesCounter = 0,
names = ['Requested', 'Submitted', 'Approved'],
colors = Highcharts.getOptions().colors;
$.getJSON('highstockPPAP.cgi',function (data) {
alert(data[0]);
$.each(names, function(i, name) {
seriesOptions[i] = {
name: name,
data: data[i]
};
// As we're loading the data asynchronously, we don't know what order it will arrive. So
// we keep a counter and create the chart when all the data is loaded.
seriesCounter++;
if (seriesCounter == names.length) {
createChart();
}
});
});
// create the chart when all data is loaded
function createChart() {
Highcharts.setOptions({
global: {
useUTC: false
}
});
$('#container').highcharts('StockChart', {
chart: {
},
rangeSelector: {
selected: 4
},
xAxis: {
type: 'datetime',
ordinal: false, //this sets the fixed time formats
},
yAxis: {
plotLines: [{
value: 0,
width: 2,
color: 'silver'
}]
},
plotOptions: {
},
tooltip: {
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',
valueDecimals: 0
},
series: seriesOptions,
exporting: {
enabled: false
}
});
}
});
});
问题内容: 无论如何,要使下面的代码仍然使用开关,而不返回它,是吗?谢谢! 当然,如果使用if语句,您将像这样: 但是对于更复杂的示例,这变得很冗长。 问题答案: 抱歉,根据switch()文档 ,您不能在switch语句中使用比较: 请注意,开关/外壳确实比较松散。 这意味着您必须提出解决方法。从松散的比较表 ,你可以利用的事实是类型转换错误:
库特性 特性 Chart.js D3 HighCharts Chartist 完全免费 ✓ ✓ ✓ Canvas ✓ SVG ✓ ✓ ✓ 内置图表 ✓ ✓ ✓ 8+图表类型 ✓ ✓ ✓ 可扩展自定义图表 ✓ ✓ 支持现代浏览器 ✓ ✓ ✓ ✓ 丰富的文档 ✓ ✓ ✓ ✓ 开源 ✓ ✓ ✓ ✓ 内置图表类型 类型 Chart.js HighCharts Chartist 混合图表 ✓ ✓ 折线图 ✓
问题内容: 我正在尝试使用AngularJS进行表单验证。我对比较两个值特别感兴趣。我希望用户在继续之前确认他输入的一些数据。可以说我有以下代码: 然后我可以将验证用于: registerForm。$ valid将对输入中的文本做出正确的反应,除非我不知道如何在此验证中使用比较来强制电子邮件保持一致,然后再允许用户提交表单。 我很想有一个没有自定义指令的解决方案,但是如果没有它就无法实现,我会处理
我想检测到鲍勃在以下情况下将城市从伦敦改为巴黎:
问题内容: 我需要比较2个不同数据库中的数据库表,以了解差异所在,是否有一个简单的工具或脚本来实现? 问题答案: redgate SQL数据比较
问题内容: 我打算开发一个小型(Java)应用程序来管理我的财务。我相信我需要使用嵌入式数据库,但是我没有关于此问题的经验。我试图查看一些可用的产品,但是我无法确定哪种产品更适合我。H2,HSQLDB,Derby和Berkeley DB似乎是不错的候选者,但是我仍然看不到它们之间的比较。感谢您的比较,并帮助我决定使用哪个。 我打算将Hibernate用于我的应用程序(除非您建议使用DBMS提供的A