Может ли другое имя столбца, кроме "значения", использоваться в Highmaps?
У меня есть файл JSON с несколькими столбцами, и я хотел бы, чтобы отображение любого из них в виде карты было относительно открытым в зависимости от выбора пользователя. Теперь я не вижу примеров использования имен других столбцов для отображения в Highmaps, кроме "value". Это так? Или есть какой-нибудь способ назвать в коде Javascript столбец, который должен использоваться Highmaps для отображения данных?
То есть имена столбцов (например) следующие:
LC_Ctry_Limit,LC_Capita_Limit,LC_Ctry_Footprint,LC_Capita_Footprint,LC_Score
Теперь, чтобы иметь возможность отображать данные из LC_Score, мне нужно переименовать столбец (жестко запрограммированный в JSON-файл) в "значение". Таким образом:
LC_Ctry_Limit,LC_Capita_Limit,LC_Ctry_Footprint,LC_Capita_Footprint,value
Но что, если пользователь хочет отобразить другой столбец? Нужно ли создавать пять разных файлов JSON для каждого столбца и называть его "значением"? Это кажется довольно негибким для меня.
Мой Highmaps-код выглядит следующим образом, основанный на загрузке сначала GeoJSON, а затем файла JSON, и я предполагаю, что это должно быть что-то вроде спецификатора имени столбца:
series : [
{
data : data,
mapData: geojson,
joinBy: ['Country_40','Country'],
name: 'LC_Score',
borderWidth: 0.2,
COLUMN-TO-BE-USED: lorem
}]
Спасибо за любые подсказки!
1 ответ
Вы можете установить значения value
свойство перед настройкой данных в параметрах / конфигурации графика. Этот выбор может быть основан на значении, переданном в функцию, которая возвратит подготовленный массив для конфигурации.
Пример: http://jsfiddle.net/bmv0y8dn/
var columnToBeUsed = 'lorem';
$('#container').highcharts('Map', {
series: [{
data: (function (columnToBeUsed) {
var len = data.length,
tab = [];
for (var i = 0; i < len; i++) {
data[i].value = data[i][columnToBeUsed];
}
return data;
})(columnToBeUsed),
...
Данные серии могут быть изменены динамически с помощью Series.setData, так что вы можете изменить value
Значение и вызов setData() с новыми данными для динамического изменения данных.