Я работаю с парой диаграмм PIE. Каждый из них охватывает одну и ту же тему данных и может иметь одинаковые элементы среза. Однако не все предметы легенды появляются в обоих PIE все время. Я рассмотрел несколько решений этого (это one является самым близким). Однако он ломается, когда один из PIE не имеет всех срезов, которые есть у другого.Как слить легенды высоких карт со всеми уникальными записями
Испытательный кейс jsFiddle показывает, что первый PIE не имеет среза 'Engineering'
, а второй PIE. Но это означает, что элемент не отображается в легенде. Как я могу получить все уникальные записи в каждой легенде PIE в одной легенде?
Это текущая функция обратного вызова (обратите внимание, он основан на серии [0]):
$(chart.series[0].data).each(function(i, e) {
e.legendItem.on('click', function(event) {
var legendItem = e.name;
event.stopPropagation();
$(chart.series).each(function(j, f) {
$(this.data).each(function(k, z) {
if (z.name == legendItem) {
if (z.visible) {
z.setVisible(false);
} else {
z.setVisible(true);
}
}
});
});
});
});
Хорошо, это работает. Я устанавливаю цвета вручную, поэтому не нужно беспокоиться о разъединении в серии. Я могу справиться с зависанием. Большое спасибо. – wergeld