Я создаю диаграмму с зараженными случаями COVID-19 из Перу, но у меня возникают проблемы с сортировкой содержимого моей подсказки. Я имею в виду, мне нужно изменить города в порядке потомков, но на изображении вы можете видеть, что это не в порядке, поэтому сложно связать строки с содержимым всплывающей подсказки. Если вы знаете, как я могу отсортировать города по случаям в каждой точке диаграммы, я бы прочел вас.
Это код, который я использую:
var cities = new Array()
var values = new Array();
// console.log(linetext)
focus
.select(".lineHover")
.attr("transform", "translate(" + x(d.date) + "," + height + ")");
focus
.select(".lineHoverDate")
.attr(
"transform",
"translate(" + x(d.date) + "," + (height + margin.bottom) + ")"
)
.text(formatDate(d.date));
focus
.selectAll(".hoverCircle")
.attr("cy", e => y(d[e]))
.attr("cx", x(d.date));
focus
.selectAll(".lineHoverText")
.attr(
"transform",
"translate(" + x(d.date) + "," + height / 7.5 + ")"
)
.text(function(e) {
if (d[e] > 0) {
console.log(e, d[e])
values.push(d[e]) //is the values one by one, I tried to push in an array
cities.push(e) //is the cities in another array
var a = 0
//This is my failed try
for (i in values){
if(values[i] == d[e]){
if (d[e]>a){
a = d[e]
return e.replace(/_cases|_deaths/, "") + ": " + formatValue(a);
}
}
}
//values.sort(function(a, b){return b-a});
console.log(cities, values, a)
} else {
return "";
}
});