#reactjs #d3plus
Вопрос:
Мне нужно настроить метку серии d3plus-react, настройка будет довольно близка к оригинальной с меткой и процентом, но вместо того, чтобы брать имя из идентификатора, как это делает оригинал, я возьму его из другого поля объекта (имени).
Объект имеет такую структуру:
id: string
name: string
value: number
parent: string
и это моя конфигурация карты деревьев:
const methods = {
data: propsData,
groupBy: ['parent', 'id'],
size: 'value',
tooltipConfig: {
title: (d) => `${d.parent} - <span>${d.name}</span>`,
},
legend: true,
shapeConfig: {
label: (d) => {
console.log(d);
return [d.name];
},
},
};
Проблема в том, что я не знаю, как изменить метку плитки, не касаясь общего процента, я просмотрел документы, но не нашел ничего подходящего.
Кто-нибудь знает, есть ли какие-то официальные методы для этого, или мне придется сделать это самому?
Ответ №1:
Я узнал, что у вас также есть доступ к проценту, код будет следующим
const methods = {
data: propsData,
groupBy: ['parent', 'id'],
size: 'value',
tooltipConfig: {
title: (d) => `${d.parent} - <span>${d.name}</span>`,
},
legend: true,
shapeConfig: {
label: (d) => {
return [d.customProperty, d.percentage];
},
},
}
Вместо имени я использовал пользовательское свойство, ранее добавленное в объект данных, чтобы серии имели желаемое имя