#javascript #jquery #json #highcharts
#javascript #jquery #json #highcharts
Вопрос:
Я использую Highmap для создания карты и хочу отображать данные с разными диаграммами после нажатия (или наведения курсора мыши) на часть карты.
Вот пример (я не хочу использовать электронную таблицу Google для получения данных, я хочу использовать данные json) Мой пример
Пример Highmap здесь HighMap . (С использованием электронной таблицы Google)
Если кто-нибудь может помочь в этом, будет полезно.
Вот фрагмент кода
Highcharts.each(Highcharts.maps, function (mapPoint) {
var key = mapPoint.code,
i = $.inArray(key, keys);
options.series[0].data.push(Highcharts.extend({
value : parseFloat(percent[i]),
name : names[i],
key: key
}, mapPoint));
});
Ответ №1:
Я не уверен, в чем вопрос, но постараюсь ответить. В общем, у вас есть диаграмма, но ваши данные серии не содержат значений, добавьте их и все заработает. Смотрите демонстрацию.
series: [{
name: 'Random data',
data: [{
color: '#0200D0',
name : 'A',
y: 30
}, {
color: '#C40401',
name : 'B',
y: 20
}],
dataLabels: {
format: '<b>{point.name}</b> {point.percentage:.1f}%'
}
}],
Конечно, эти значения всегда будут фиксированными. В вашем случае я бы использовал некоторый AJAX для получения JSON в pointClick()
функции, а затем отображал данные из JSON на диаграмме.
Комментарии:
1. Да, данные в формате json поступают с сервера, и при нажатии они обновят диаграмму.
2. Здесь в качестве примера я использую данные json в том же JS-файле.
3. Итак, в чем вопрос? Перед созданием диаграммы вызовите AJAX на свой сервер, затем внутри обратного вызова AJAX создайте такую диаграмму.
4. Хорошо, что возникла проблема с отображением данных на диаграмме 2-го окна.
5. Не удалось выяснить, ошибка в консоли также отсутствует. Это просто ничего не отображает, в конце концов я попробовал map в формате SVG, а затем переключился на этот.