如何允许国家/地区标签在使用 HTML 时自动隐藏

How to allow the country labels to auto-hide when using HTML?

本文关键字:HTML 隐藏 国家 何允许 地区 标签      更新时间:2023-09-26

这里有这个地图示例,我正在从Highcharts运行Highmaps。

您可以观察到,当我们在下面进行此设置时,罗马尼亚、保加利亚、塞尔维亚等国家/地区没有显示其标签,因为该国家/地区对于该缩放级别来说太小了。如果放大到足够大,这些小国将变得更大,并显示其标签。

dataLabels: {               
    enabled: true,
    useHTML: false,
    format: '{point.name}'
}

如果我更改为useHTML: true,所有国家/地区标签都会一直显示,无论缩放级别如何或国家/地区有多小,这会导致标签像这样重叠非常糟糕。

由于项目要求,坚持useHTML: true是必须的,但是在这种情况下,是否有任何方法可以实现标签的自动隐藏?

您可以尝试使用格式化程序而不是格式,并仅显示应该可见的标签。标签点排名可能会有所帮助。一个有点随机的例子(但你会明白这个想法):http://jsfiddle.net/Lu3ec0Lv/2/

更改部分:

formatter: function () {
                        var ret = null,
                            chart = this.series.chart,
                            xExt = chart.xAxis[0].getExtremes();
                        if ((this.point.labelrank%2 + (xExt.max - xExt.min))%2) ret = this.point.name;
                        return ret;
                    }