gpt4 book ai didi

javascript - Highcharts Highmap world - 为一个大陆内的所有国家上色

转载 作者:行者123 更新时间:2023-11-30 11:24:18 25 4
gpt4 key购买 nike

我无法通过在后端应用程序提供的国家 iso 代码中着色来使世界地图正常工作。

I have a fiddle here.

我的代码是:

var chartData = [{
"name": "Africa",
"data": ["DZ", "AO", "BJ", "BW", "BF", "BI", "CM", "CV", "CF", "TD", "CD", "CG", "KM", "DJ", "EG", "GQ", "ER", "ET", "GM", "GA", "GH", "GN", "GW", "CI", "KE", "XK", "LS", "LR", "LY", "MG", "MW", "ML", "MR", "MU", "YT", "MA", "MZ", "NA", "NE", "NG", "RW", "ST", "SN", "SC", "SL", "SO", "ZA", "SS", "SD", "SZ", "TZ", "TG", "TN", "UG", "EH", "ZM", "ZW"]
}, {
"name": "Asia",
"data": ["AF", "BH", "BD", "BT", "BN", "KH", "CN", "HK", "IN", "ID", "IR", "IQ", "IL", "JP", "JO", "KZ", "KW", "KG", "LA", "LB", "MO", "MY", "MV", "MN", "MM", "NP", "KP", "OM", "PK", "PH", "WA", "SA", "SG", "KR", "LK", "SY", "TW", "TJ", "TH", "TR", "TM", "AE", "UZ", "VN", "PS", "YE"]
}, {
"name": "Europe",
"data": ["AL", "AD", "AM", "AT", "AZ", "BY", "BE", "BA", "BG", "HR", "CY", "CZ", "DK", "EE", "FO", "FI", "FR", "GE", "DE", "GR", "HU", "IS", "IE", "IM", "IT", "LV", "LI", "LT", "LU", "MK", "MT", "MD", "MC", "ME", "NL", "NO", "PL", "PT", "RO", "RU", "SM", "RS", "SK", "SI", "ES", "SE", "CH", "UA", "GB", "VA"]
}, {
"name": "North America",
"data": ["AI", "AR", "AW", "BS", "BB", "BZ", "BM", "BO", "BR", "CA", "KY", "CL", "CO", "CR", "CU", "CW", "DM", "DO", "EC", "SV", "PF", "GL", "GD", "GT", "GY", "HT", "HN"]
}, {
"name": "South America",
"data": ["JM", "MX", "FM", "NI", "PA", "PY", "PE", "PR", "KN", "LC", "VC", "MF", "SR", "TT", "TC", "US", "UY", "VE", "VI", "VG"]
}, {
"name": "Oceania",
"data": ["AS", "AU", "FJ", "GU", "KI", "MH", "NC", "NZ", "MP", "PW", "PG", "WS", "SB", "TP", "TO", "TV", "VU"]
}];

// Instantiate the map
Highcharts.mapChart('container', {

credits: {
enabled: false
},

chart: {
map: 'custom/world-highres',
spacingTop: 20,
spacingBottom: 20,
backgroundColor: '#DEEFF5'
},

title: {
text: 'Continents'
},

legend: {
enabled: true
},

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

plotOptions: {
map: {
// joinBy: 'hc-key',
dataLabels: {
enabled: true,
color: '#FFFFFF',
style: {
fontWeight: 'bold'
},
states: {
hover: {
color: Highcharts.getOptions().colors[2]
}
},
},
tooltip: {
headerFormat: '',
pointFormat: '{point.name}: <b>{series.name}</b>'
}
}
},

series: chartData

});

我错过了什么?谢谢!

最佳答案

为了使您的代码正常工作,我修改了以下内容:

  • 添加了 map custom/world.js:

  • 修改了您的系列数组,现在每个元素都是 {"code": ...}:


变种数据= [];
对于(图表数据中的 var k){
数据推送({
名称:图表数据[k].名称,
数据:chartData[k].data.map(函数(代码){
返回{代码:代码};
})
});
}

  • 定义joinBy将 mapData 连接到值数据(属性“代码”):

  • 设置allAreas为假

这是更新的 jsfiddle:http://jsfiddle.net/beaver71/nccwpmen/

var chartData = [{
"name": "Africa",
"data": ["DZ", "AO", "BJ", "BW", "BF", "BI", "CM", "CV", "CF", "TD", "CD", "CG", "KM", "DJ", "EG", "GQ", "ER", "ET", "GM", "GA", "GH", "GN", "GW", "CI", "KE", "XK", "LS", "LR", "LY", "MG", "MW", "ML", "MR", "MU", "YT", "MA", "MZ", "NA", "NE", "NG", "RW", "ST", "SN", "SC", "SL", "SO", "ZA", "SS", "SD", "SZ", "TZ", "TG", "TN", "UG", "EH", "ZM", "ZW"]
}, {
"name": "Asia",
"data": ["AF", "BH", "BD", "BT", "BN", "KH", "CN", "HK", "IN", "ID", "IR", "IQ", "IL", "JP", "JO", "KZ", "KW", "KG", "LA", "LB", "MO", "MY", "MV", "MN", "MM", "NP", "KP", "OM", "PK", "PH", "WA", "SA", "SG", "KR", "LK", "SY", "TW", "TJ", "TH", "TR", "TM", "AE", "UZ", "VN", "PS", "YE"]
}, {
"name": "Europe",
"data": ["AL", "AD", "AM", "AT", "AZ", "BY", "BE", "BA", "BG", "HR", "CY", "CZ", "DK", "EE", "FO", "FI", "FR", "GE", "DE", "GR", "HU", "IS", "IE", "IM", "IT", "LV", "LI", "LT", "LU", "MK", "MT", "MD", "MC", "ME", "NL", "NO", "PL", "PT", "RO", "RU", "SM", "RS", "SK", "SI", "ES", "SE", "CH", "UA", "GB", "VA"]
}, {
"name": "North America",
"data": ["AI", "AR", "AW", "BS", "BB", "BZ", "BM", "BO", "BR", "CA", "KY", "CL", "CO", "CR", "CU", "CW", "DM", "DO", "EC", "SV", "PF", "GL", "GD", "GT", "GY", "HT", "HN"]
}, {
"name": "South America",
"data": ["JM", "MX", "FM", "NI", "PA", "PY", "PE", "PR", "KN", "LC", "VC", "MF", "SR", "TT", "TC", "US", "UY", "VE", "VI", "VG"]
}, {
"name": "Oceania",
"data": ["AS", "AU", "FJ", "GU", "KI", "MH", "NC", "NZ", "MP", "PW", "PG", "WS", "SB", "TP", "TO", "TV", "VU"]
}];
var data = [];
for (var k in chartData) {
data.push({
name: chartData[k].name,
data: chartData[k].data.map(function (code) {
return { code: code };
})
});
}
console.log(data);

// Instantiate the map
var chart = Highcharts.mapChart('container', {

credits: {
enabled: false
},

chart: {
map: 'custom/world',
spacingTop: 20,
spacingBottom: 20,
backgroundColor: '#DEEFF5'
},

title: {
text: 'Continents'
},

legend: {
enabled: true
},

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

plotOptions: {
map: {
allAreas: false,
joinBy: ['iso-a2', 'code'],
dataLabels: {
enabled: true,
color: '#FFFFFF',
style: {
fontWeight: 'bold'
},
states: {
hover: {
color: Highcharts.getOptions().colors[2]
}
},
},
tooltip: {
headerFormat: '',
pointFormat: '{point.name}: <b>{series.name}</b>'
}
}
},

series: data

});
#container {
height: 500px;
min-width: 310px;
max-width: 800px;
margin: 0 auto;
}

.loading {
margin-top: 10em;
text-align: center;
color: gray;
}
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/maps/highmaps.js"></script>
<script src="https://code.highcharts.com/mapdata/custom/world.js"></script>
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">


<div id="container"></div>

关于javascript - Highcharts Highmap world - 为一个大陆内的所有国家上色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48615112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com