Alb*_*ein 0 javascript highcharts
我想合并两个数组并在图表上显示它们但不能这样做.请显示绘制该类型图表的正确语法.如果someobdy可以提供一个jsfiddle链接,那么对我的理解会更好.谢谢.
$(function () {
var name = ['chrome','firefox','opera'];
var data = [11.22,81.54,6];
var final = [name,data];
$('#container').highcharts({
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie'
},
title: {
text: 'Browser market shares January, 2015 to May, 2015'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<b>{point.name}</b>: {point.percentage:.1f} %',
style: {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
}
}
}
},
series: [{
name: "Results",
colorByPoint: true,
data:JSON.parse(final)
}]
});
});
Run Code Online (Sandbox Code Playgroud)
你不必合并数组.您必须使用对象列表构建新数组.这些对象应该具有基于您提供的数组的结构.每个对象的适当"名称"应该从"名称"数组中获取其值.适当的'y'反过来应该从"数据"数组中获得价值.就像是:
var final = [
{
name: 'chrome',
y: '11,22'
},
{
name: 'firefox',
y: '81.5'
},
{
name: 'opera',
y: '6'
}
]
Run Code Online (Sandbox Code Playgroud)
这就是你如何得到它:
var name = ['chrome','firefox','opera'];
var data = [11.22,81.54,6];
var final = [];
for(var i=0; i < name.length; i++) {
final.push({
name: name[i],
y: data[i]
});
}
Run Code Online (Sandbox Code Playgroud)
这是小提琴:http://jsfiddle.net/ujahc83h/2/