У меня есть круговая диаграмма с несколькими кольцами и я создал функцию пользовательской легенды с кодом ниже:
var data = [{
labels: ["Mumbai", "Chennai", "Hyderabad", "Bangalore"],
data: [30, 32, 38, 50],
backgroundColor: [
"#4b77a9",
"#5f255f",
"#d21243",
"#B27200"
],
borderColor: "#fff"
}, {
labels: ["India 2018", "India 2017"],
data: [450, 400],
backgroundColor: [
"#92d400",
"#95a455"
],
borderColor: "#fff"
}];
Первое кольцо представляет четыре отдельных города, а центральные кольца представляют общую стоимость страны, но не общую сумму четырех городов.
Я хочу показать эту пользовательскую легенду:
Мумбаи: 30
Ченнаи: 32
Хайдарабад: 38
Бангалор: 50
Индия: 450
Остальная часть Мумбая: 420
Остальная часть Ченнаи: 418
Остальная часть Хайдарабада: 412
Остальная часть Бангалора: 400
Первый набор - отдельные значения данных.
Второй набор (значение Индии - значение города)
Ниже приведена пользовательская функция легенды:
legendCallback: function (chart) {
var text = [];
text.push('<ul class="list-inline my-0 text-center ' + chart.id + '-legend text-secondary">');
for (var i = 0; i < chart.data.datasets[0].data.length; i++) {
text.push('<li class="list-inline-item"><i class="fas fa-circle pr-1" style="color:' +
chart.data.datasets[0].backgroundColor[i] + '"></i>');
if (chart.data.datasets[0].labels[i]) {
text.push('<span class="font-weight-bold">' + chart.data.datasets[0].labels[i] + ': ' + chart.data.datasets[0].data[i] +'</span>');
}
text.push('</li>');
}
text.push('</ul>');
text.push('</ul>');
text.push('<ul class="list-inline">');
text.push('<li class="list-inline-item">Rest of Mumbai: 420</li>');
text.push('<li class="list-inline-item">Rest of Chennai: 418</li>');
text.push('<li class="list-inline-item">Rest of Hyderabad: 412</li>');
text.push('<li class="list-inline-item">Rest of Bangalore: 400</li>');
text.push('</ul>');
return text.join('');
},
Я могу показать отдельные значения меток, но не остальные значения меток ***.
Вот JSFiddle (https://jsfiddle.net/kingBethal/aubsjn4c/11/)
Обновление # 1
Ниже в таблице представлены значения в круговой диаграмме и требуемый вывод пользовательской легенды:
Пользовательская легенда покажет (India 2018 minus individual city)
значений.
Пример:
Остальная часть Мумбаи = Индия 2018 (450) - Мумбаи (30) = 420