Javascript 堆叠条形图中的排序值无效
我试图根据这个问题对堆叠条中的值进行排序 但排序后,序列中的数据似乎是错误的 用于排序的代码Javascript 堆叠条形图中的排序值无效,javascript,html,jquery,highcharts,Javascript,Html,Jquery,Highcharts,我试图根据这个问题对堆叠条中的值进行排序 但排序后,序列中的数据似乎是错误的 用于排序的代码 seriesData.forEach(function (name) { if (name.data != undefined) { name.data.sort(function (a, b) { if (a < b) { return -1;
seriesData.forEach(function (name) {
if (name.data != undefined) {
name.data.sort(function (a, b) {
if (a < b) {
return -1;
} else if (a > b) {
return 1;
}
return 0;
});
}
});
seriesData.forEach(函数(名称){
if(name.data!=未定义){
name.data.sort(函数(a,b){
if(ab){
返回1;
}
返回0;
});
}
});
这是我的全部源代码
JSFIDLE
var系列数据=[{
“名称”:(组件)”,
“数据”:[2039521123,0,0,4046613348,0,544280301,3865715691,0],
“显示”:2,
“堆栈”:“预测”,
“showInLegend”:false,
“点填充”:0,
“pointPlacement”:0
}, {
“名称”:“(基质)”,
“数据”:[18482326051109333700,0,0,1478070275,0,0,0],
“显示”:2,
“堆栈”:“预测”,
“showInLegend”:false,
“点填充”:0,
“pointPlacement”:0
}, {
“名称”:(模块)”,
“数据”:[05328223452625462,0,0,207607714,0103089669],
“显示”:2,
“堆栈”:“预测”,
“showInLegend”:false,
“点填充”:0,
“pointPlacement”:0
}, {
“名称”:(支持)”,
“数据”:[0,0,0,0,537829903,0,0],
“显示”:1,
“堆栈”:“预测”,
“showInLegend”:false,
“点填充”:0,
“pointPlacement”:0
}, {
“名称”:(组件)”,
“数据”:[11118985500,0473291564414216361483,03424327323216931478,0],
“显示”:1,
“堆栈”:“真实”,
“showInLegend”:false
}, {
“名称”:“(基质)”,
“数据”:[84951538003191092821,0,013153490000,0,0,0],
“显示”:3,
“堆栈”:“真实”,
“showInLegend”:false
}, {
“名称”:(模块)”,
“数据”:[0,13925175787,9837488553,0,0,370501758,0,338212038],
“显示”:1,
“堆栈”:“真实”,
“showInLegend”:false
}, {
“名称”:(支持)”,
“数据”:[0,0,0,0,4845038686,0,0],
“显示”:1,
“堆栈”:“真实”,
“showInLegend”:false
}, {
“名称”:“预测”,
“颜色”:“fe7c7c”,
“事件”:{}
}, {
“姓名”:“真实”,
“颜色”:“43d487”,
“事件”:{}
}];
var选项={
图表:{
类型:“列”
},
标题:{
文本:“堆叠柱形图”
},
xAxis:{
类别:['A','B','C','D','E','F','G','H']
},
亚克斯:{
分:0,,
标题:{
正文:“水果总消费量”
},
堆叠标签:{
启用:对,
风格:{
fontWeight:'粗体',
textOutline:false,
颜色:(//主题
Highcharts.defaultOptions.title.style&&
Highcharts.defaultOptions.title.style.color
)| |“灰色”
}
}
},
图例:{
对齐:'居中',
x:0,,
垂直排列:“底部”,
y:5,
backgroundColor:Highcharts.defaultOptions.legend.backgroundColor | | |“白色”,
边框颜色:“#CCC”,
边框宽度:0,
影子:错
},
工具提示:{
headerFormat:“{point.x}
”,
pointFormat:“{series.name}:{point.y}
总计:{point.stackTotal}”
},
打印选项:{
专栏:{
堆叠:“正常”,
数据标签:{
已启用:true
},
点填充:0.05,
maxpointWidth:35,
//分组填充:0.1,
边框宽度:0
},
系列:{
maxpointWidth:35,
分组填充:0.36,
//堆叠:“正常”,
数据标签:{
格式化程序:函数(){
if(this.y==this.point.stackTotal | | this.y==0){
返回“”
}
返回this.series.name;
},
启用:对,
//allowOverlap:是的,
//对齐:“右”,
颜色:“#444”,
textOutline:false,
影子:错,
//x:-50,
风格:{
字体大小:“8px”,
textShadow:“0px”
}
},
//点填充:0.1,
点宽度:50,
分组填充:0.2,
堆叠:“正常”,
//colorByPoint:对,
//showInLegend:false
}
},
系列:[]
}
seriesData.forEach(函数(名称){
if(name.data!=未定义){
name.data.sort(函数(a,b){
if(ab){
返回1;
}
返回0;
});
}
});
option.series=系列数据;
var chart=Highcharts.chart('container',选项)代码>
我不确定您想要实现什么-这就是没有排序的图表的样子-有点凌乱-这就是想要的输出-?我想从顶部较大的堆栈显示值,底部较小的堆栈显示值,但在排序之后,数据似乎发生了变化我也遵循这个解决方案,但在我的情况下不起作用请看这个简化的演示-对我来说,每个堆栈都已排序-顶部较大,底部较小。这是一个想要的结果吗?你的演示不是我的要求,我在附件中解释说我不确定你想要实现什么-这就是没有排序的图表的样子-有点混乱-这就是想要的输出-?我想从顶部较大,底部较小,但排序后,显示每个堆栈显示的值,数据似乎发生了变化我也遵循这个解决方案,但在我的情况下不起作用请看这个简化的演示-对我来说,每个堆栈都已排序-顶部较大,底部较小。这是一个想要的结果吗?你的演示不是我的要求,我在附上的图片中解释