我正在用Highcharts收藏的欧洲Map来绘制分区图。它很好,但马耳他太小了,人们很难看到它。所以我的问题是:有没有办法在Map上只增加一个国家的大小?我知道在Map上通常是用插图来完成的,但在这里我可以只增加大小,使它稍微更明显一些。举个例子,当我看这张Map时,例如马耳他(就在意大利南端西西里岛的下面)非常小:https://jsfiddle.net/7j9fq8h3/
// 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 data = [
['dk', 0],
['fo', 1],
['hr', 2],
['nl', 3],
['ee', 4],
['bg', 5],
['es', 6],
['it', 7],
['sm', 8],
['va', 9],
['tr', 10],
['mt', 11],
['fr', 12],
['no', 13],
['de', 14],
['ie', 15],
['ua', 16],
['fi', 17],
['se', 18],
['ru', 19],
['gb', 20],
['cy', 21],
['pt', 22],
['gr', 23],
['lt', 24],
['si', 25],
['ba', 26],
['mc', 27],
['al', 28],
['cnm', 29],
['nc', 30],
['rs', 31],
['ro', 32],
['me', 33],
['li', 34],
['at', 35],
['sk', 36],
['hu', 37],
['ad', 38],
['lu', 39],
['ch', 40],
['be', 41],
['kv', 42],
['pl', 43],
['mk', 44],
['lv', 45],
['by', 46],
['is', 47],
['md', 48],
['cz', 49]
];
// Create the chart
Highcharts.mapChart('container', {
chart: {
map: 'custom/europe'
},
title: {
text: 'Highmaps basic demo'
},
subtitle: {
text: 'Source map: <a href="http://code.highcharts.com/mapdata/custom/europe.js">Europe</a>'
},
mapNavigation: {
enabled: true,
buttonOptions: {
verticalAlign: 'bottom'
}
},
colorAxis: {
min: 0
},
series: [{
data: data,
name: 'Random data',
states: {
hover: {
color: '#BADA55'
}
},
dataLabels: {
enabled: false,
format: '{point.name}'
}
}]
});
有没有办法通过API使用HighMaps来实现这一点,或者我最好的方法是创建我自己的GEOJSON文件?非常感谢您的回答,大卫
1条答案
按热度按时间klh5stk11#
您需要找到所需的路径元素,并对其使用平移和缩放变换。例如:
现场演示:https://jsfiddle.net/BlackLabel/ez6kr8a7/
**API参考:**https:api.highcharts.com/class-reference/Highcharts.SVGElement#attr
有用的线程:Scale path from center