Это продолжение моих предыдущих постов на пузырьковой диаграмме, которые я пытался создать. Я достиг желаемого эффекта, адаптировав код Криса Тафтса:
https://blockbuilder.org/lydiawawa/347e2b0aeed51d7dc56fde40b08e5fcd
Однако, когда я пытаюсь добавить всплывающую подсказку, я не могу извлечь исходное значение BMI и Race (В коде BMI = размер и Race = group) Это потому, что .data вызывает узлы вместо исходного данные. Кто-нибудь знает, как указать подсказку, чтобы получить правильные значения?
Я знаю, что должен определить группу и размер в функции create_node, как показано ниже, но я получил неожиданную ошибку токена var.
function create_nodes(data,node_counter) {
var i = cs.indexOf(data[node_counter].group),
var z = cs.data[node_counter].group,
var s = cs.data[node_counter].size,
r = Math.sqrt((i + 1) / m * -Math.log(Math.random())) * maxRadius,
d = {
cluster: i,
z,
s,
radius: radiusScale(data[node_counter].size)*1.5,
text: data[node_counter].text,
x: Math.cos(i / m * 2 * Math.PI) * 200 + width / 2 + Math.random(),
y: Math.sin(i / m * 2 * Math.PI) * 200 + height / 2 + Math.random()
}
if (!clusters[i] || (r > clusters[i].radius)) clusters[i] = d;
console.log(d);
return d;
};