Пузырьковая карта D3.js: функция атрибутов Cx и cy не может читать координаты широты и долготы

Произошла ошибка, которой не было на предыдущей пузырьковой карте, которую я сделал. Я использовал тот же код, но просто включил новые данные в той же структуре, включая координаты широты и долготы.

Это ошибка в консоли:

TypeError: Cannot read property '0' of null
at SVGCircleElement.<anonymous> (bubbleMap_top_100_gun_dealing_cities.html:108)
at SVGCircleElement.<anonymous> (d3.v4.min.js:2)
at ut.each (d3.v4.min.js:2)
at ut.attr (d3.v4.min.js:2)
at bubbleMap_top_100_gun_dealing_cities.html:107
at Object.<anonymous> (d3.v4.min.js:2)
at k.call (d3.v4.min.js:2)
at XMLHttpRequest.e (d3.v4.min.js:2)

Это часть рассматриваемого кода:

      var bubbles = svg.append('g')
      .attr('class', 'bubble')
      .selectAll('circle')
      .data(data)
      .enter()
      .append('circle')
      .attr('cx', function(d) {
        return projection([d.lon, d.lat])[0];
      })
      .attr('cy', function(d) {
        return projection([d.lon, d.lat])[1];
      })

Моя предыдущая карта использует тот же код и не имеет такой проблемы.

Круги рисуются в углу страницы, если я попробую:

       .attr('cx', function(d) {
        return projection([d.lon, d.lat][0]);
      })
      .attr('cy', function(d) {
        return projection([d.lon, d.lat][1]);
      })

Любые идеи?

ОБНОВЛЕНИЕ: в CSV было пустое значение! Дох.

У вас есть только 1 объект с пустыми значениями, отфильтруйте его: jsfiddle.net

Gerardo Furtado 01.10.2018 04:15

У меня было ощущение, что это CSV! Починил это. Спасибо! :)

rainbowunicorn 01.10.2018 04:20

удалите операторы return внутри вашего data.forEach(). Как вы предотвратите, что большие круги маскируют меньшие круги, вы не сортируете данные?

rioV8 01.10.2018 10:51

Данные сортируются в CSV через Excel. И пузыри прозрачные.

rainbowunicorn 02.10.2018 20:02
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
83
0

Другие вопросы по теме