Plot xaxis类别未正确绘制值,使用php mysql动态填充多个系列highcharts

Plot xaxis类别未正确绘制值,使用php mysql动态填充多个系列highcharts,plot,highcharts,categories,Plot,Highcharts,Categories,我使用highcharts填充我的图表,该图表从mysql数据库获取数据,xaxis的类别已从数据库获取并在排序后放置。我的图表有多个系列。图表的数据值如下: [{“名称”:“0.1纳克/毫升”,“数据”:[[“24小时”,1.2]],{“名称”:“1纳克/毫升”,“数据”:[“24小时”,2.2]],{“名称”:“10纳克/毫升”,“数据”:[“24小时”,5.3]],{“名称”:“3.5纳克/毫升”,“数据”:[“24小时”,3]],{“名称”:“5纳克/毫升”,“数据”:[“240分钟”,

我使用highcharts填充我的图表,该图表从mysql数据库获取数据,xaxis的类别已从数据库获取并在排序后放置。我的图表有多个系列。图表的数据值如下: [{“名称”:“0.1纳克/毫升”,“数据”:[[“24小时”,1.2]],{“名称”:“1纳克/毫升”,“数据”:[“24小时”,2.2]],{“名称”:“10纳克/毫升”,“数据”:[“24小时”,5.3]],{“名称”:“3.5纳克/毫升”,“数据”:[“24小时”,3]],{“名称”:“5纳克/毫升”,“数据”:[“240分钟”,2.2],“480分钟”,3.1],“24小时”,2.63小时”,“8.1]]

因此,通过获取这些值,它在“240分钟”部分错误地绘制了“24小时”

请帮我解决这个问题

函数InitHighChart1(v1) { $(“#图表1”).html(“等待,加载图表1…”)

var选项={
图表:{类型:'行',
renderTo:'图表1',
},颜色:[“#058DC7”、“#50B432”、“#ED561B”、“#DDDF00”、“#24CBE5”、“#64E572”、“#FF9655”、“#FFF263”、“#6AF9C4”],
学分:{
已启用:false
},
标题:{
文本:“Pubmed Id:”+v1,
x:-20
},
xAxis:{类别:,
平均值:0.05,
最大填充:0.05,
标题:{
启用:对,
文本:“时间点”
}
},
工具提示:{
分享:是的,
是的,
headerFormat:'时间点:{Point.key}',
pointFormat:'剂量:{series.name}:'+
“{point.y}”,
页脚格式:“”,
启用:对,
十字准星:{
颜色:“蓝色”,
dashStyle:“实心”
}
},
打印选项:{
行:{
数据标签:{
已启用:true
},
enableMouseTracking:true
}
},
系列:[{}]
};
$.ajax({
url:“jdata.php”,
数据:“显示=印象”,
类型:'get',
数据类型:“json”,
成功:功能(数据){
var getSeries=数据;
options.series=getSeries;
var图表=新的Highcharts.图表(选项);
}
});
}


数据数组中的字符串值被视为点名称。 您需要将它们设置为数值:

series: [{
    "name": "0.1 ng/ml",
    "data": [
        [2, 1.2]
    ]
}, {
    "name": "1 ng/ml",
    "data": [
        [2, 2.2]
    ]
}, {
    "name": "10 ng/ml",
    "data": [
        [2, 5.3]
    ]
}, {
    "name": "3.5 ng/ml",
    "data": [
        [2, 3]
    ]
}, {
    "name": "5 ng/ml",
    "data": [
        [0, 2.2],
        [1, 3.1],
        [2, 2.63],
        [3, 8.1]
    ]
}]
API:


现场演示:

你好,Meena Vinay,我用JSFIDLE:复制了你的代码,一切似乎都正常工作。你能为我提供一个类别数组吗?不,类别在x轴上的绘图不正确…意味着它不符合顺序顺序。顺序取决于
类别
数组:类别为{'240分钟','480分钟','24小时','48小时'}。绘图错误。数值不适用。这是一个动态图表。非常感谢您的帮助。但我无法给出数值,因为图表的时间点顺序只有在填充数据后才能知道。嗨,Meena Vinay,好的,所以您需要预处理数据,请检查此示例:嗨,我仍然无法更正它。有任何选项来指定字符串值,而不是数值。ie不是0,1,2,3…..时间点值“30分钟”、“60分钟”、“120分钟”...嗨@Meena Vinay,还有一个解决办法-您可以使用null
y
值以正确的顺序将所有点的名称添加到第一个序列中-示例:
series: [{
    "name": "0.1 ng/ml",
    "data": [
        [2, 1.2]
    ]
}, {
    "name": "1 ng/ml",
    "data": [
        [2, 2.2]
    ]
}, {
    "name": "10 ng/ml",
    "data": [
        [2, 5.3]
    ]
}, {
    "name": "3.5 ng/ml",
    "data": [
        [2, 3]
    ]
}, {
    "name": "5 ng/ml",
    "data": [
        [0, 2.2],
        [1, 3.1],
        [2, 2.63],
        [3, 8.1]
    ]
}]