仅显示单个系列

时间:2015-01-05 16:08:56

标签: highmaps

我在highcharts网站上使用了演示中的一个示例,唯一的修改是:

  • 将地图更改为world.js
  • 评论" allAreas"物业



$(function () {


    // Instanciate the map
    $('#container').highcharts('Map', {
        chart: {
            spacingBottom: 20
        },
        title : {
            text : 'Europe time zones'
        },

        legend: {
            enabled: true
        },

        plotOptions: {
            map: {
                //allAreas: false,
                joinBy: ['iso-a2', 'code'],
                dataLabels: {
                    enabled: true,
                    color: 'white',
                    formatter: function () {
                        if (this.point.properties && this.point.properties.labelrank.toString() < 5) {
                            return this.point.properties['iso-a2'];
                        }
                    },
                    format: null,
                    style: {
                        fontWeight: 'bold'
                    }
                },
                mapData: Highcharts.maps['custom/world'],
                tooltip: {
                    headerFormat: '',
                    pointFormat: '{point.name}: <b>{series.name}</b>'
                }

            }
        },

        series : [{
            name: 'UTC',
            id: 'UTC',
            data: $.map(['IE', 'IS', 'GB', 'PT'], function (code) {
                return { code: code };
            })
        }, {
            name: 'UTC + 1',
            data: $.map(['NO', 'SE', 'DK', 'DE', 'NL', 'BE', 'LU', 'ES', 'FR', 'PL', 'CZ', 'AT', 'CH', 'LI', 'SK', 'HU',
                    'SI', 'IT', 'SM', 'HR', 'BA', 'YF', 'ME', 'AL', 'MK'], function (code) {
                return { code: code };
            })
        }, {
            name: 'UTC + 2',
            data: $.map(['FI', 'EE', 'LV', 'LT', 'BY', 'UA', 'MD', 'RO', 'BG', 'GR', 'TR', 'CY'], function (code) {
                return { code: code };
            })
        }, {
            name: 'UTC + 3',
            data: $.map(['RU'], function (code) {
                return { code: code };
            })
        }]
    });
});
&#13;
&#13;
&#13;

JSFiddle中的代码 为什么只有单个系列可见?

1 个答案:

答案 0 :(得分:1)

导致此问题的一行是://allAreas: false

这是解释以及如何解决 (extract from the Highcharts support forum)

  

根据API,将 allAreas 设置为 true 将全部   区域也是没有值的区域(作为空值)。另一个   选项是 nullColor ,默认情况下是灰色阴影和设置   空值使用的颜色。

     

因此,如果您将 allAreas 设置为 true ,那么每个系列都会绘制   所有区域和具有空值的区域将被填充为灰色(   的 nullColor )。因为后面的系列有更高的 z-index ,所以这些都是   在另一个系列的顶部,导致灰色的形状覆盖   在它下面的形状。

     

如果您想将 allAreas 设置为 true ,但仍然可以看到   不同系列,您必须将nullColor设置为透明:

     

rgba(0,0,0,0)

<强> Working JSFiddle here