HighMaps:向工具提示添加第二个数据系列

问题描述 投票:0回答:1

我有第二个数据系列,我想添加到此Highmaps图表的工具提示中。具有第二组数据(data2)的变量就位,但是我还没有添加序列,因为每次这样做都会破坏代码。我希望工具提示显示第一个系列的数据,然后在其下方显示第二个系列的数据。因此它将显示为:

值州名:4.50排名:3

我认为应该这样添加第二个系列:

{name:'Ranking: ',
data: data2
   }

但是,就像我说的那样,当我添加它会破坏代码。除此之外,一旦到达那儿,我就无法弄清楚如何将其他数据添加到工具提示中。

这是JavaScript代码:

// Prepare demo data
// Data is joined to map using value of 'hc-key' property by default.
// See API docs for 'joinBy' for more info on linking data and map.

var data2 = [
    ['mx-3622', 0],
    ['mx-bc', 1],
    ['mx-bs', 2],
    ['mx-so', 3],
    ['mx-cl', 4],
    ['mx-na', 5],
    ['mx-cm', 6],
    ['mx-qr', 7],
    ['mx-mx', 8],
    ['mx-mo', 9],
    ['mx-df', 10],
    ['mx-qt', 11],
    ['mx-tb', 12],
    ['mx-cs', 13],
    ['mx-nl', 14],
    ['mx-si', 15],
    ['mx-ch', 16],
    ['mx-ve', 17],
    ['mx-za', 18],
    ['mx-ag', 19],
    ['mx-ja', 20],
    ['mx-mi', 21],
    ['mx-oa', 22],
    ['mx-pu', 23],
    ['mx-gr', 24],
    ['mx-tl', 25],
    ['mx-tm', 26],
    ['mx-co', 27],
    ['mx-yu', 28],
    ['mx-dg', 29],
    ['mx-gj', 30],
    ['mx-sl', 31],
    ['mx-hg', 32]
];

var data = [
                    ['mx-3622', 0.00],
                    ['mx-bc', 5.59],
                    ['mx-bs', 4.05],
                    ['mx-so', 4.77],
                    ['mx-cl', 6.91],
                    ['mx-na', 8.88],
                    ['mx-cm', 8.01],
                    ['mx-qr', 4.87],
                    ['mx-mx', 5.01],
                    ['mx-mo', 0.089],
                    ['mx-df', 8.12],
                    ['mx-qt', 7.32],
                    ['mx-tb', 3.17],
                    ['mx-cs', 1.15],
                    ['mx-nl', 6.88],
                    ['mx-si', 6.64],
                    ['mx-ch', 2.19],
                    ['mx-ve', 0.66],
                    ['mx-za', 8.03],
                    ['mx-ag', 10],
                    ['mx-ja', 3.35],
                    ['mx-mi', 3.91],
                    ['mx-oa', 0.8],
                    ['mx-pu', 1.53],
                    ['mx-gr', 0.0],
                    ['mx-tl', 2.95],
                    ['mx-tm', 5.47],
                    ['mx-co', 9.46],
                    ['mx-yu', 8.62],
                    ['mx-dg', 4.47],
                    ['mx-gj', 8.33],
                    ['mx-sl', 4.35],
                    ['mx-hg', 4.75]
                ];

// Create the chart
Highcharts.mapChart('container', {
    chart: {
        map: 'countries/mx/mx-all'
    },

    title: {
        text: 'Highmaps basic demo'
    },

    subtitle: {
        text: 'Source map: <a href="http://code.highcharts.com/mapdata/countries/mx/mx-all.js">Mexico</a>'
    },

    mapNavigation: {
        enabled: true,
        buttonOptions: {
            verticalAlign: 'bottom'
        }
    },

    colorAxis: {
        min: 0
    },

    series: [{
        data: data,
        name: 'Value',
        states: {
            hover: {
                color: '#BADA55'
            }
        },
    }]
});```


Here's a jsfiddle: https://jsfiddle.net/sstoker/81w2revu/15/

Any help would be very much appreciated!!! 






highcharts
1个回答
0
投票

您可以通过这种方式添加第二个系列:

series: [{
    data: data,
    name: 'Value',
    ...
}, {
    name: 'Ranking: ',
    data: data2
}]

实时演示: https://jsfiddle.net/BlackLabel/amtycfbL/


但是我认为更好的解决方案是将附加数据字段添加到第一个序列数据中,并通过使用pointFormat选项在工具提示中显示它:

data.forEach(function(el, i) {
    el.push(data2[i][1])
});

// Create the chart
Highcharts.mapChart('container', {
    ...

    tooltip: {
        pointFormat: 'Value {point.name} Ranking: {point.rank}'
    },

    series: [{
        keys: ['hc-key', 'value', 'rank'],
        data: data,
        ...
    }]
});

实时演示: https://jsfiddle.net/BlackLabel/j809rcva/

API参考: https://api.highcharts.com/highmaps/series.map.keys

© www.soinside.com 2019 - 2024. All rights reserved.