На этом графике показана двусторонняя таблица непредвиденных обстоятельств , данные которой приблизительно такие:
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
Есть множество способов построить этот сюжет. Например, вы можете рассчитать положение каждого прямоугольного цветного пятна и отдельно разместить каждый участок. В целом, однако, это помогает найти краткое описание того, как график представляет данные.
В качестве отправной точки мы можем рассматривать этот вариант как вариацию столбчатой диаграммы с накоплением.
Этот график едва ли нуждается в описании: благодаря знакомству мы знаем, что каждый ряд прямоугольников соответствует каждому ряду таблицы сопряженности; что длины прямоугольников прямо пропорциональны их количеству; что они не перекрываются; и что цвета соответствуют столбцам таблицы.
Икс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.
Лиланд Уилкинсон, Грамматика графики. Springer 2005.