Примечание: сейчас добавлено 50 точек необработанных данных.
Я хочу показать, сколько я изучил, и сколько страниц я выполнил за неделю, разбито по дням, и я сделал это, как показано ниже:
У меня были люди, которые говорили мне, что не могут понять графики, но я понятия не имею, как еще я могу их отобразить Поскольку мне, по сути, понадобятся три измерения без составления совокупного описания. Я хочу избегать использования многочисленных линейных графиков, так как через несколько недель они станут нечитаемыми. Я ничего не могу сделать?
Как я могу отобразить это более четко?
Date Total Total pages
21/11/2014 2.4166 0
22/11/2014 0 0
23/11/2014 1.5833 4
24/11/2014 3.0166 13
25/11/2014 2.4999 6
26/11/2014 1.4833 3
27/11/2014 3.0499 6
28/11/2014 0 0
29/11/2014 2.4499 5
30/11/2014 2.8833 2
1/12/2014 0 0
2/12/2014 4.1166 8
3/12/2014 1.3333 5
4/12/2014 1.2499 3
5/12/2014 1.6666 8
6/12/2014 0 0
7/12/2014 2.4833 9
29/12/2014 0 0
30/12/2014 1.2332 1
31/12/2014 0.3333 0
1/01/2015 3.5666 2
2/01/2015 0.8166 0
3/01/2015 2.75 28
4/01/2015 0.4166 0
5/01/2015 1.2833 0
6/01/2015 0.3333 3
7/01/2015 0 0
8/01/2015 0 0
9/01/2015 2.35 2
10/01/2015 0.5666 0
11/01/2015 0 0
12/01/2015 1.6666 0
13/01/2015 2.2666 5
14/01/2015 2.5165 6
15/01/2015 2.0166 0
16/01/2015 2.9666 1
17/01/2015 0.8333 0
18/01/2015 0.6666 1
19/01/2015 1.45 0
20/01/2015 0.3166 0
21/01/2015 0 0
22/01/2015 0.2333 0
23/01/2015 0.85 2
24/01/2015 0 0
25/01/2015 0 0
26/01/2015 0.6666 4
27/01/2015 0.8333 1
28/01/2015 1.5498 5
29/01/2015 6.4159 9
30/01/2015 2.9166 0
data-visualization
Gung - Восстановить Монику
источник
источник
Ответы:
Одним из способов визуализации данных на основе даты / календаря является матричный дисплей, который кодирует данные с помощью цвета. Матрица (или таблица) организована так, что строки представляют недели, а столбцы - дни. Вы можете добавить последний столбец для еженедельного итога, если это желательно.
Это можно реализовать несколько проще в Excel с условным форматированием, если данные расположены правильно. В частности, вы можете построить «сетку» значений с формулами, которые соответствуют вашим исходным данным. Оттуда вы можете использовать условное форматирование для отображения результата.
Вот как может выглядеть результат. Извините, я изменил формат даты. Формула в ячейке H1 является:
"=IFERROR(VLOOKUP($G$1+$G6*7+H$5, $B$5:$C$16,2,FALSE), 0)"
. Это делает некоторую математику, чтобы получить дни в правильном порядке. Надеюсь, это просто.Если вы действительно хотите выйти за границы возможного, вы можете использовать фреймворк, такой как d3, и его плагин календаря для отображения этих данных. Это может быть больше, чем стоит.
Этот формат очень похож на то, как GitHub отображает активность пользователей / вклады с течением времени. Вот один пользователь (не я!).
источник
Отличительной чертой оригинала являются еженедельные суммы. Отдельные значения имеют смысл только после того, как вы узнали цвета, и я думаю, что это большая причина, по которой сюжет не работает для новых зрителей. В связи с этим временной аспект дней теряется. Последовательный набор цветов может помочь (например, 7 оттенков синего).
Я обычно не хочу маркировать каждый элемент - точные значения, которые важны? График не выполняет свою работу, если вы не можете интерпретировать его, не помечая каждое значение.
На мою попытку . Учитывая очевидную важность еженедельных сумм, я составил еженедельные кумулятивные суммы. Показывает еженедельные суммы и дни в порядке времени. Точные дневные значения менее ясны, но выбросные значения все равно будут выделяться.
Для таких маленьких линейных графиков (которые могут быть уменьшены до размера спарклайнов ) полезно иметь контрольную линию или область. Для иллюстрации я добавил целевой диапазон. Если цель не подходит, то эталоном может быть что-то вроде диапазона за последние три недели или некоторого фиксированного эталонного значения.
Я использовал красный, чтобы указать, какие недели были ниже целевого для быстрого сканирования.
С гораздо большим количеством недель вы можете организовать их в виде таблицы, а не вертикального списка.
источник
Если я вас правильно понимаю, причина, по которой вы не хотите использовать линейные графики, состоит в том, что у вас слишком много недель, и графики могут стать грязными.
Если это проблема, то вы можете разделить временные ряды на компоненты:
Суточная вариация
Еженедельная вариация
Долгосрочная тенденция
Что-нибудь еще.
Уильям С. Кливленд показывает хороший пример этого в одной из своих книг (я не в своем офисе и не могу вспомнить, какая из его книг имеет пример, но это либо Визуализация данных, либо Элементы графического отображения данных ).
И R, и SAS имеют инструменты для этого. У вас есть доступ к любому из них?
источник
Сначала я изложу некоторые возражения против ваших исходных гистограмм с накоплением или разделением.
а. Цветовая кодировка выглядит совершенно произвольно. Следовательно, граф не может быть изучен без повторения назад и вперед между легендой и графом.
б. Нули неявные, как невидимые сегменты бара. Нули являются частью вариации.
По этим и другим причинам графики сложно декодировать.
Тем не менее, график имеет смысл, если интерес в основном заключается в изучении вариаций итогов от недели к неделе. Много недель может быть построено столько же баров. Соответствующим недостатком является то, что изучать вариации в течение нескольких недель будет все труднее.
Резервное копирование: в каждой задаче есть три переменных.
Время изучено или страницы заполнены.
День недели.
Номер недели.
По мере увеличения количества недель любой график будет более подробным. Задача состоит в том, чтобы держать эту деталь под контролем.
Я бы рассмотрел сюжет цикла (другие названия использовались в литературе, но большинство ссылается на его использование для изучения сезонных колебаний). Наоми Роббинс приводит ясное введение. Ее примеры включают такие, как ваша, где интерес к вариациям происходит в течение недель и между ними.
источник
Линейные графики, вероятно, было бы легче интерпретировать, если бы вы взяли скользящую среднюю семидневную, четырнадцатидневную или, возможно, 28-дневную скользящую среднюю. Это сгладит их и все же позволит вам определить тенденции.
Это имеет некоторые сходства с решением Питера Флома, хотя и является более простым и, следовательно, не дает полной картины, но вполне может подойти для ваших нужд. Если вы записываете свои данные в электронную таблицу, у нее есть преимущество, заключающееся в том, что такое усреднение может быть легко выполнено в самой электронной таблице путем настройки некоторых формул, и график будет автоматически обновляться при заполнении новых данных.
Обновление для включения графиков
График электронных таблиц для семидневных скользящих средних не впечатляет, но, кажется, хорошо справляется со своей задачей - дневные колебания сглаживаются, поэтому тенденции легче обнаружить (по сравнению с эквивалентным дневным графиком, который настолько шумный, что непонятен). Некоторые ключевые характеристики хорошо видны на этом графике: например, большое количество работы было выполнено в середине января в почасовом выражении, но это не сопровождалось пропорциональным увеличением среднего числа страниц, выполненных за день. Рождественский перерыв очень заметен и до тех пор, пока отдельные точки данных четко отображаются, он не слишком вводит в заблуждение (если бы была видна только линия, было бы невозможно определить, что плоский период был вызван отсутствием данных!). Тем не менее, я настоятельно рекомендую в том числе≈ 1,5
При наличии всего пятидесяти элементов данных, по-видимому, не стоит пытаться усреднять в течение более длительного периода времени, чтобы обнаружить долгосрочные тренды. Точно так же я подозреваю, что превосходная идея Питера Флома о сезонном разложении будет бороться с такими ограниченными данными. Если бы вы выполняли декомпозицию в своей электронной таблице, было бы еще более важно включить разрыв в ноль данных.
Чтобы воспроизвести мои формулы, вставьте это так, чтобы «Дата» находилась в ячейке
A1
:источник
Как я понимаю ваш вопрос, было бы целесообразно отображать часы и страницы отдельно. Я сделаю это первым. После этого я покажу итоги и страницы на одном графике. Я предполагаю, что фактические цифры - не самая важная вещь - более важно получить обзор недель и будней, которые были продуктивными, а какие - нет. В этом случае я предлагаю вам сохранить естественную временную структуру, поскольку в ваших данных есть только одно временное измерение. Мы все еще можем найти способ разграничить недели.
Я использовал следующий R-код и пакет ggplot2 для создания этого первого графика. Ваши данные были загружены в данные объекта в приведенном ниже коде. График представляет собой сгруппированный столбчатый график с серыми столбцами, обозначающими еженедельные суммы страниц.
Это явно не идеально. Серые столбики доминируют во многом, поскольку они по сравнению с дневным столбцом имеют большую площадь для того же объема чтения. Мы могли бы сделать их тоньше, но мне нравится, как они разграничивают недели. Они довольно точно указывают, какие дни на одной неделе - что-то, что не всегда понятно. Тем более, что у нас ноль.
На следующем графике я использовал среднее количество страниц (в течение недели) в качестве высоты серой полосы.
Это, вероятно, представляет данные лучше. Однако обратите внимание, что недели 0 и 7 вводят в заблуждение, поскольку они не включают 7 дней. Вы можете легко обойти это.
Если вы настаиваете на одновременном отображении страниц и времени, вы можете сделать линейную диаграмму. Это может быть немного запутанным, поскольку две вертикальные шкалы не одинаковы. С другой стороны, было бы неплохо сравнить потраченное время и работу, выполненную напрямую, вот так.
РЕДАКТИРОВАТЬ: Понимая, что цвета действительно не нужны так много и вдохновленный XAN (см. Комментарии ниже), вы могли бы упростить сюжет до чего-то вроде этого. Я пометил четверги, чтобы дать дополнительное визуальное руководство. Вы также можете поспорить в пользу использования одного и того же цвета для всех столбцов, чтобы не переоценивать некоторые (произвольные) дни.
В заключение отметим, что вы также можете попробовать по-разному масштабировать оси, поделив ваши значения на среднее значение. Это сделало бы 1 «нормальным» значением. Мы могли бы включить линию в 1, чтобы подчеркнуть эту точку - теперь это делается на графике спина к спине. Это отделяет «хорошие» от «плохих» дней с точки зрения средней рабочей нагрузки.
На этом графике мы также можем убедиться, что одна единица соответствует одному и тому же расстоянию на обеих осях, поскольку они сравнимы сейчас.
Также обратите внимание, что я перепутал дни в первой версии. Я исправил код и графики, и теперь я буду практиковать семь дней недели.
Код, который создал последний сюжет:
источник
источник
На графике ниже показаны суммарные часы обучения и общее количество страниц в течение каждой недели с использованием линий вместо столбцов, которые, как мы надеемся, облегчат просмотр тренда в течение каждой недели и сравнение между неделями. Я заполнил пропущенные недели нулями, но вы можете исключить их, если хотите.
R
Код для генерации и обработки данных участка размещена под графиком.Выполняя приведенные ниже шаги, я сначала загрузил данные, опубликованные в вопросе, во фрейм данных с именем
dat
.источник
Другим вариантом является пузырьковая диаграмма, где вы можете иметь вертикальную высоту для одной переменной и размер точки для другой. Ниже дата (день) горизонтальна, количество изученных часов вертикальное, количество страниц, покрываемых за день, имеет размер пузырьков, а неделя - цветная.
источник
Вы могли бы построить в 3d. Я не проверял, правильно ли был рассчитан день недели, нашел ли он лучший угол обзора и т. Д., Но это должно дать вам представление. Дальнейшие украшения также возможны. Например, может быть лучше соединить точки линией и переместить линии сетки, чтобы они соответствовали каждому понедельнику.
На самом деле было бы очень интересно попробовать, чтобы каждая левая-правая и восходящая-нижняя линия сетки (как показано под этим углом) соответствовала одному и тому же дню недели (например, понедельнику), а затем размещала коробочные диаграммы на нижней и задней правой стенках внутри линии сетки. Графики будут соответствовать общему количеству часов и страниц за каждую неделю соответственно. Я почти уверен, что это было бы возможно сделать с RGL, но потребует некоторого возиться. Это может стоить того. Сюжеты для скрипки или бобовые могут быть еще лучше.
Данные (для ввода в R):
Сделайте сюжет:
источник
Может быть полезна следующая тепловая карта с номером недели (года), днем недели и фасетами для часов и страниц:
Удаление 2 высоких значений дает лучшие цветовые градиенты на графике:
Следующее представление может также быть полезным.
Это ясно показывает 2-недельный период, когда не было сделано никакой работы.
График с линиями также может быть полезен (линии не загромождены; точки также могут быть удалены, сохраняя только две линии)
Они четко передают информацию, упрощая сюжет для легкого понимания.
источник