Пользовательская метка на карте дерева d3plus-react

#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];
      },
    },
}
 

Вместо имени я использовал пользовательское свойство, ранее добавленное в объект данных, чтобы серии имели желаемое имя