我想合并两个数组并在图表上显示它们但不能这样做。请显示绘制该类型图表的正确语法。如果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)
}]
});
});
答案 0 :(得分:6)
您不必合并数组。您必须使用对象列表构建新数组。这些对象应该具有基于您提供的数组的结构。每个对象的名称&#34;名称&#34;应该从&#34; name&#34;中得到它的价值。阵列。适当的&#39;反过来应该从&#34;数据&#34;中获得价值。阵列。类似的东西:
var final = [
{
name: 'chrome',
y: '11,22'
},
{
name: 'firefox',
y: '81.5'
},
{
name: 'opera',
y: '6'
}
]
这就是你如何得到它:
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]
});
}