在我的图表图表上,我使用
function q54528239
%% Load some sample data:
measures = struct2array(load('fisheriris','meas'));
%% Plot
figure();
coordLineStyle = 'k.';
boxplot(measures(1:20,1:2), 'Symbol', coordLineStyle); hold on;
parallelcoords(measures(1:20,1:2), 'Color', 0.7*[1 1 1], 'LineStyle', '-',...
'Marker', '.', 'MarkerSize', 10);
end
为数据设置新的xAxis时间范围并进行“缩放”。 我想始终在第一个可见数据点上显示数据标签。如何获得xAxis更新的第一点并在那里渲染数据标签?
答案 0 :(得分:1)
在afterSetExtremes
事件中,您可以选中该点上的isInside
标志并启用或禁用dataLabel
:
xAxis: {
events: {
afterSetExtremes: function() {
var series = this.chart.series,
pointFound,
i = 0;
series.forEach(function(s) {
pointFound = false;
s.points.forEach(function(p) {
if (p.isInside && !pointFound) {
p.update({
dataLabels: {
enabled: true
}
});
pointFound = true;
} else if (p.dataLabel) {
p.update({
dataLabels: {
enabled: false
}
})
}
});
});
}
}
}
实时演示:http://jsfiddle.net/BlackLabel/qv0bcr3t/
API:https://api.highcharts.com/class-reference/Highcharts.Point#update