Комментарии 22
Пожалуйста.
Что касается выбора отображения, то тут было два фактора. Во-первых, задача была сделать так же, как в популярном блоге, только на основе самостоятельно собранных верных данных.
Во-вторых, не нужно забывать, что визуализация строится не только для отображения данных, но и для помощи в анализе. В данном случае нам может понадобиться сравнить данные не только по месяцам (по вертикали).
По месяцам мы видим, что небольшой подъем наблюдается с апреля по август, а последние четыре месяца относительно светлые.
Но если смотреть по горизонтали, дням, то мы тоже можем увидеть тенденции. Они опять же связаны не с рождаемостью, а с поведением пользователей соцсети: 1 апреля, июня и августа (не говоря уже о 1 января) «родилось» больше всего пользователей. Кроме того, некоторые «пики» рождаемости приходятся на «красивые» числа, кратные пяти.
Ну и, кроме того, с точки зрения места теплокарта экономнее. В ней можно разглядеть тенденции на гораздо более мелком масштабе. А гистограмма, чтобы в ней было отчетливо видно каждый из 366 столбик, должна быть очень длинной.
На обычной гистограмме

мы бы этого никогда не разглядели.
Что касается выбора отображения, то тут было два фактора. Во-первых, задача была сделать так же, как в популярном блоге, только на основе самостоятельно собранных верных данных.
Во-вторых, не нужно забывать, что визуализация строится не только для отображения данных, но и для помощи в анализе. В данном случае нам может понадобиться сравнить данные не только по месяцам (по вертикали).
По месяцам мы видим, что небольшой подъем наблюдается с апреля по август, а последние четыре месяца относительно светлые.
Но если смотреть по горизонтали, дням, то мы тоже можем увидеть тенденции. Они опять же связаны не с рождаемостью, а с поведением пользователей соцсети: 1 апреля, июня и августа (не говоря уже о 1 января) «родилось» больше всего пользователей. Кроме того, некоторые «пики» рождаемости приходятся на «красивые» числа, кратные пяти.
Ну и, кроме того, с точки зрения места теплокарта экономнее. В ней можно разглядеть тенденции на гораздо более мелком масштабе. А гистограмма, чтобы в ней было отчетливо видно каждый из 366 столбик, должна быть очень длинной.
На обычной гистограмме

мы бы этого никогда не разглядели.
1 апреля
Почему даже 29 февраля больше Дней Рождений, чем у 1 января? Конечно, у некоторых после 31 декабря идет сразу 2 января, но 1 января всё же существует, это не вымысел.
В статье написано, почему нас пришлось удалить данные по 1 января:
«Но что мы видим? Среди окружающих дней как-то особенно выделяется 1 января. Та же тенденция сохраняется на гораздо больших числах пользователей. Когда я собирал данные по 300 000 аккаунтов, 1 января точно так же сияло глубоким синим, а остальные цвета были бледными. Очевидно, такое явление связано с действиями пользователей, которые, не желая публиковать свой реальный день рождения, выбирают первое число в списке. Отделить действительно родившихся в Новый год от жалких симулянтов не представляется возможным.»
«Но что мы видим? Среди окружающих дней как-то особенно выделяется 1 января. Та же тенденция сохраняется на гораздо больших числах пользователей. Когда я собирал данные по 300 000 аккаунтов, 1 января точно так же сияло глубоким синим, а остальные цвета были бледными. Очевидно, такое явление связано с действиями пользователей, которые, не желая публиковать свой реальный день рождения, выбирают первое число в списке. Отделить действительно родившихся в Новый год от жалких симулянтов не представляется возможным.»
Извиняюсь, сначала графики смотрел, а потом читал.
А 1 января, раз там значение в два раза больше от положенного поставить 300000/365, а не ноль. И с 1 апреля тоже так же сделать.
Поставим минимальным значением в функции map() не ноль, а 12, чтобы плиточка 29 февраля была едва заметна. Из-за того, что наш минимум теперь составляет 12, а не ноль, прозрачность тех плиточек, которые имеют значение 0, будет отрицательной. А поскольку при отрицательных значениях прозрачность откатывается циклически (-5 — это все равно что 250!), получится, что несуществующие дни будут не белыми, а темными. Добавим условие, при котором «нулевые» дни вообще не рисуютсяА не прощё было умножить 29 февраля на 4?
А 1 января, раз там значение в два раза больше от положенного поставить 300000/365, а не ноль. И с 1 апреля тоже так же сделать.
А не прощё было умножить 29 февраля на 4?
А 1 января, раз там значение в два раза больше от положенного поставить 300000/365, а не ноль. И с 1 апреля тоже так же сделать.
Нет. Это фальсификация сета данных, нельзя так делать. Можно исключить часть данных и оговорить это в комментарии к графику, но подделывать данные — ни в коем случае, иначе весь смысл анализа теряется.
А вот я действительно родился 1-го января и помню на каком-то из сервисов скрипт даже ругался на то что я ничего из списка не выбирал, а оставил значения по умолчанию…
Больше всего людей родилось 1 апреля, в день дурака, я так понимаю…
Интегральный график по месяцам нарисовали бы что ли, тенденция явно прослеживается. И по-моему стоило бы добавить к диаграмме еще одну, сдвинув все значения на 280 дней.
>Никогда не слышал про интегральный график — это как?
Под этим понятием я имел в виду график просуммированного по месяцам количества дней рождений.
Под этим понятием я имел в виду график просуммированного по месяцам количества дней рождений.
а теперь провести анализ, рожденные в какие дни люди имеют статус за мужем или в активном поиске.
for (int j = 0; j < user.length; j++) { //перебираем все строки ответа
if (user[j].indexOf("<bdate>") != -1) { //если строка содержит интересующее нас поле
Что не так? Ага, мы совсем забыли, что записывали в файл данные вместе с XML-тегами. Не беда! В любом текстовом редакторе есть функция автозамена, с помощью которой можно почистить наш файл от лишней информации.
Крайне странно, что автор так и не научился работать с XML парсером, не говоря уже об XPath.
Автор старался насколько это возможно ужать описание программы и работать со стандартными средствами Processing. Кроме того, гораздо приятнее сначала самому пощупать XML и понять, как оно работает, чем пользоваться чужим парсером (что не возбраняется для работы над реальными проектами, где важны скорость и удобство).
Попробовал запустить код который относится к визуализации данных и он почему-то ничего не отрисовывает.
Выводит значения переменных mi и ma как: 0 0.
Подскажите, пожалуйста, в чем может быть проблема?
Выводит значения переменных mi и ma как: 0 0.
Подскажите, пожалуйста, в чем может быть проблема?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Строим карту популярности дней рождения с помощью Processing и VK API