Php 如何根据HighChart中的类别将静态序列名称设置为元素结果
我对序列名称有疑问,如何根据HighChart中的类别将静态序列名称设置为元素 预期输出如下:Php 如何根据HighChart中的类别将静态序列名称设置为元素结果,php,jquery,highcharts,Php,Jquery,Highcharts,我对序列名称有疑问,如何根据HighChart中的类别将静态序列名称设置为元素 预期输出如下: categories = [], series = []; $.getJSON('ajax/ams_sla_report_chart.php', function(data,name){ data.forEach(function(arr) { arr.forEach(function(el, i) { if (i === 0) {
categories = [],
series = [];
$.getJSON('ajax/ams_sla_report_chart.php', function(data,name){
data.forEach(function(arr) {
arr.forEach(function(el, i) {
if (i === 0) {
categories.push(el);
} else if (series[i - 1]) {
series[i - 1].data.push(el);
} else {
series.push({
name:['MR','MR_HIT','MR_HIT_PERCENTAGE'],
data: [el]
});
}
});
});
var chart = new Highcharts.Chart({
chart: {
renderTo: 'containers',
type: 'column',
inverted: false
},
legend: {
layout: 'horizontal',
align: 'right',
verticalAlign: 'middle'
},
xAxis: {
categories: categories
},
title: {
text: 'Priority Based on SLA'
},
series:series
});
function showValues() {
$('#alpha-value').html(chart.options.chart.options3d.alpha);
$('#beta-value').html(chart.options.chart.options3d.beta);
$('#depth-value').html(chart.options.chart.options3d.depth);
}
// Activate the sliders
$('#sliders_eng input').on('input change', function () {
chart.options.chart.options3d[this.id] = parseFloat(this.value);
showValues();
chart.redraw(false);
});
showValues();
});
到目前为止,我已经在我的web应用程序上找到了结果。
是否可以根据我想在序列名称上添加的内容更改序列1、序列2、序列3
我这里有我的代码:
categories = [],
series = [];
$.getJSON('ajax/ams_sla_report_chart.php', function(data,name){
data.forEach(function(arr) {
arr.forEach(function(el, i) {
if (i === 0) {
categories.push(el);
} else if (series[i - 1]) {
series[i - 1].data.push(el);
} else {
series.push({
name:['MR','MR_HIT','MR_HIT_PERCENTAGE'],
data: [el]
});
}
});
});
var chart = new Highcharts.Chart({
chart: {
renderTo: 'containers',
type: 'column',
inverted: false
},
legend: {
layout: 'horizontal',
align: 'right',
verticalAlign: 'middle'
},
xAxis: {
categories: categories
},
title: {
text: 'Priority Based on SLA'
},
series:series
});
function showValues() {
$('#alpha-value').html(chart.options.chart.options3d.alpha);
$('#beta-value').html(chart.options.chart.options3d.beta);
$('#depth-value').html(chart.options.chart.options3d.depth);
}
// Activate the sliders
$('#sliders_eng input').on('input change', function () {
chart.options.chart.options3d[this.id] = parseFloat(this.value);
showValues();
chart.redraw(false);
});
showValues();
});
您需要在循环外部定义序列名称数组,并在循环中仅使用一个名称:
var seriesNames = ['MR', 'MR_HIT', 'MR_HIT_PERCENTAGE'],
...
data.forEach(function(arr) {
arr.forEach(function(el, i) {
if (i === 0) {
categories.push(el);
} else if (series[i - 1]) {
series[i - 1].data.push(el)
} else {
series.push({
name: seriesNames[i - 1],
data: [el]
});
}
});
});
现场演示:您好@DevGe,您希望一个类别只包含一个系列吗?结果应该是这样的:,但是没有
堆叠
?@ppotaczek是的,每个类别的值都有不同的命名。@ppotaczek就像我在问题顶部分享的一样。。例如,这个系列1='New series1'@ppotaczek,如你所见,兄弟,为什么会出现这些名称,重复?感谢@ppotaczek帮助我现在解决了我的问题非常感谢