Есть два основных вопроса с вашим кодом.
- Часть кода визуализации должна находиться в функциональном блоке с данными (как указано в другом ответе)
- Ваши данные не являются истинными числами, потому что у вас естьчисла для суммы, потраченной в формате "$ 8 200 000,00". Javascript не читает это как число, а скорее как строку. По этой причине вы получаете сообщение об ошибке [D3 plus], данные отсутствуют. Чтобы исправить это, вам необходимо выполнить «преобразование типа», то есть преобразовать строку в тип числа.
Чтобы исправить это, вам необходим цикл forEach, который выполняет преобразование типа, например:
data.forEach(function(d) {
d["Amount Spent"] = +d["Amount Spent"].trim().replace(/\$/g, "").replace(/\,/g, "");
});
где,
функция .trim()
удаляет все лишние пробелы до / после текста
.replace(/\$/g, "")
удаляет любые знаки $
.replace(/\,/g, "");
удаляет все запятые
Вот блок с рабочим примером с ограниченным количеством данных: https://bl.ocks.org/akulmehta/4ae4564a66c0869c1d9065cd8e73a586/