我需要从我从API中提取的JSON数据在X轴上显示标签。
但我认为我们只能为轴提供静态标签?
任何人都可以告诉我如何给出动态标签吗? 这是我的代码:
var obj = data[$("#host").val()].iscsi_lif.result.sectoutput.sect;
var my_data_list = [];
var readsize = [];
for(var key in obj) {
var avg_latency = parseInt(obj[key].avg_latency);
var rsize = parseInt(obj['read_size_hist.<=128KB']);
my_data_list.push('Average Latency', parseInt(avg_latency));
readsize.push('Read Size',parseInt(rsize));
}
$('#graphcontainer2').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Reads Sizing'
},
xAxis: {
type: 'category',
labels: {
rotation: -45,
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
},
yAxis: {
min: 0,
title: {
text: 'Read Size'
}
},
legend: {
enabled: false
},
tooltip: {
pointFormat: 'Read Size: <b>{point.y:.1f}%</b>'
},
series: [{
name: 'Read Size',
data: my_data_list,
dataLabels: {
enabled: true,
rotation: -90,
color: '#FFFFFF',
align: 'right',
format: '{point.y:.1f}', // one decimal
y: 10, // 10 pixels down from the top
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
}]
});
&#13;
答案 0 :(得分:2)
要使用category
xAxis类型,点格式应包含x值作为字符串或name
属性。例如,预期的输入数据格式为:
series: [{
data: [ ['Me', 10], ['Myself', 20], ['I', 100] ]
}]
将在xAxis上创建三个类别:Me
| Myself
| I
所以你的代码应该是这样的:
my_data_list.push([myLabel, parseInt(avg_latency)]);
其中myLabel
是类别字符串。
答案 1 :(得分:0)
而是键入:category,在xAxis中使用类别(如果你没有使用highstock,使用highcharts)
chart.xAxis[0].setCategories(categories);