我使用x轴minRange让我的数据点总是从x轴的左边开始。我的数据集最多可以有9分。当我的集合只有一个或几个数据点时,如果我不将minRange设置为适当的值,这些数据就会在图中居中。我的x轴被设置为categories: [],以使用我的时间值作为字符串而不是日期值。问题是,当我只有两个数据点和minRange = 9,我将有七个轴标签编号2-9没有数据点。我怎样才能去掉这些标签?
小提琴
var json = [{"price":"15","time":"12:00"},{"price":"20","time":"12:30"}];
var processed_json = new Array();
$.map(json, function (obj, i) {
processed_json.push({name: obj.time,y: parseInt(obj.price) });
});
$('#container').highcharts({
xAxis: {
categories: [],
minRange: 9,
min: 0
},
yAxis: {
minRange: 30
},
series: [{
data: processed_json
}]
});发布于 2015-02-24 20:58:29
为此,我将使用tickPositions。只需添加以下内容,就可以在用于构建数据的同一个循环中构建tickPositions数组:
tickPositions.push(i);示例:
发布于 2015-02-24 17:30:17
另一种方法是手动将类别列表提供给高级图表库。这样做的目的是让与您的数据点对应的类别--以obj.time命名,而剩下的类别只是空字符串。
var categoryCount = 10;
var json = [{"price":"15","time":"12:00"},{"price":"20","time":"12:30"}];
var processed_json = new Array();
var categories = new Array(categoryCount);
categories.fill("", 0, categoryCount); //Fill list of categories with empty strings
$.map(json, function (obj, i) {
processed_json.push({name: obj.time,y: parseInt(obj.price) });
categories[i] = obj.time; //Set the time for particular category
});
$('#container').highcharts({
xAxis: {
categories: categories,
minRange: categoryCount - 1,
min: 0
},
yAxis: {
minRange: 30
},
plotOptions: {
},
series: [{
data: processed_json
}]
});在这种情况下,可变类别应该是"12:00“、"12:30”、“、"”。
https://stackoverflow.com/questions/28701587
复制相似问题