HighCharts中X轴的动态标签

时间:2016-02-03 09:12:13

标签: javascript highcharts

我需要从我从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;
&#13;
&#13;

2 个答案:

答案 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);

See working fiddle here