Цей графік відображає двосторонню таблицю надзвичайних ситуацій , дані якої приблизно такі:
Branded Unbranded Social Referring Direct RSS
First-time... 177276 472737 88638 265915 472737 59092
Return Visits... 236002 629339 118001 354003 629339 78667
4+ Visits in ... 166514 444037 83257 249771 444037 55505
10+ Visit in ... 28782 76751 14391 43172 76751 9594
At Least One Visit... 6707 17886 3354 10061 17886 2236
Last Touch... 660 1759 330 989 1759 220
Існує безліч способів побудови цього сюжету. Наприклад, ви можете обчислити позиції кожного прямокутного патча кольору та окремо сплавити кожен патч. Однак загалом це допомагає знайти стислий опис того, як графік представляє дані.
В якості пункту відправлення ми можемо розглядати цей варіант як різновид складеної гістограми.
Цей сюжет ледве потребує опису: завдяки ознайомленню ми знаємо, що кожному рядку прямокутників відповідає кожен ряд таблиці обставин; що довжини прямокутників прямо пропорційні їх кількості; щоб вони не перетиналися; і що кольори відповідають стовпцям таблиці.
Якщо ми перетворимо цю таблицю в "кадр даних" або "таблицю даних" Xмаючи один рядок на кожну кількість з полями, що вказують назву рядка, назву стовпця та кількість, а потім побудувати її графік зазвичай означає виклик відповідної функції та визначення місця пошуку назв рядків, назв стовпців та підрахунків. З використанням реалізації Grammar of Graphics ( ggplot2
пакет для R
) це виглядатиме приблизно так
ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col()
Деталі графіки, такі як широкий ряд смуг і які кольори використовувати, як правило, повинні бути чітко визначені. Як це буде зроблено, залежить від побудови графіку (а так це представляє порівняно малий інтерес: потрібно просто шукати це).
Ця конкретна реалізація Граматики графіки забезпечує невелику гнучкість у позиціонуванні смуг. Один із способів створити бажаний вигляд з мінімальними зусиллями - вставити невидиму категорію в основу кожного бруска так, щоб бруски були по центру. Трохи задумавшись, підказує, що підроблений підрахунок, необхідний для центру кожного бару, повинен бути середнім значенням загальної довжини бруска та довжини найдовшої смуги. У цьому прикладі це буде початковий стовпець зі значеннями
254478.0 0.0 301115.0 897955.0 993610.5 1019817.0
Ось отримана штабельна діаграма, що показує підроблені дані світло-сірого кольору:
Потрібна фігура створюється, роблячи графіку підробленої колонки невидимою:
Графічний опис графіки опису сюжету не потребує змін: ми просто надали іншу таблицю дій у випадку надзвичайних ситуацій, що надається відповідно до того ж опису (і переоцінила призначення кольорів за замовчуванням для підробленого стовпчика).
Коментарі
Ці графіки є чесними: горизонтальний розмір кожного кольорового патча прямо пропорційний базовим даним, без перекручень. Порівнюючи їх з оригіналом (у запитанні), видно, наскільки екстремальним є його спотворення ( Фактор брехні Туфте ).
Якщо потрібно показати деталі внизу "лійки", розгляньте подання підрахунків за площею, а не за довжиною. Ви можете зробити довжини брусків пропорційними квадратним кореням загальної довжини та їх ширині (у вертикальному напрямку) також пропорційними квадратним корінням. Тепер нижня частина «лійки» буде приблизно однієї двадцятої найдовшої довжини, а не однієї чотирисотої частини, дозволяючи показати деяку деталь. На жаль, ggplot2
реалізація не дозволяє відображати змінну на ширину смуги, і тому потрібна більш активна обробка (така, яка дійсно описує кожен прямокутник окремо). Можливо, є реалізація Python, яка є більш гнучкою.
Список літератури
Едвард Туфте, візуальне відображення кількісної інформації . Чешир Прес 1984.
Леланд Вілкінсон, граматика графіки. Спрингер 2005.