Лесно визуализирайте данни отвъд второто измерение с радарни диаграми - внедрени както в Matplotlib, така и в Plotly

Визуализирането на данни отвъд две измерения не е добра идея – през повечето време. Това е мястото, където идват радарните диаграми, които ви позволяват визуално да представите една или повече групи от стойности върху множество еднакво мащабирани променливи.

Днес ще научите как радарните диаграми могат да визуализират данни в множество измерения, както с Matplotlib, така и с Plotly. Ще научите също какво представляват радарните диаграми и плюсовете и минусите от използването им.

Статията е структурирана по следния начин:

  • Въведение в радарните диаграми
  • Плюсове и минуси на радарните диаграми
  • Радарни диаграми с Matplotlib
  • Радарни диаграми с Plotly
  • Заключение

Можете да изтеглите съответната тетрадка тук.

Въведение в радарните диаграми

Най-вероятно знаете какво е радарна диаграма. Понякога те се наричат ​​паякови диаграми или полярни диаграми, но тези термини представляват една и съща идея. Целта на радарната диаграма е визуално да представи една или повече групи стойности върху множество променливи.

Например, да кажем, че искате визуално да представите ресторанти върху някакъв набор от общи променливи – като качество на храната, разнообразие от храни, качество на обслужването и други (предупреждение за спойлер: ще направите това по-късно). Радарните диаграми трябва да са вид визуализация за този сценарий.

На всяка променлива е дадена ос, а осите са подредени радиално около центъра. Излишно е да казвам, но осите са разположени еднакво. След това едно наблюдение се нанася по всяка ос като точкова диаграма, но след това точките се свързват, за да образуват многоъгълник. Можете да използвате повторно същата логика, за да начертаете множество многоъгълници в една и съща диаграма.

И това е основната идея зад радарните диаграми. Нека разгледаме плюсовете и минусите, преди да се потопим в практически примери.

Плюсове и минуси на радарните диаграми

Нека първо да поговорим за плюсовете:

  1. Радарните диаграми са отлични за визуализиране на сравнения между наблюдения – можете лесно да сравнявате множество атрибути между различни наблюдения и да видите как се подреждат. Например, можете да използвате радарни диаграми, за да сравнявате ресторанти въз основа на някои общи променливи.
  2. Лесно е да видите като цяло „най-добрите изпълнители“ — наблюдението с най-високата площ на полигона трябва да е най-доброто, ако гледате цялостното представяне.

Но нещата не са само слънчеви лъчи и дъги, както можете да видите от следния списък с минуси:

  1. Радарните диаграми могат да станат объркващи бързо - сравняването на повече от шепа наблюдения води до бъркотия, която никой не иска да гледа.
  2. Може да е трудно да се намерят най-добрите опции, ако има твърде много променливи — само си представете да видите радарна диаграма с 20+ променливи. Никой не иска дори да го погледне; Пази боже да го тълкувам.
  3. Променливите трябва да са в една и съща скала — няма смисъл да се сравняват оценките на учениците (вариращи от 1 до 5) и удовлетворението от дадена услуга (вариращи от 0 до 100).

Вече знаете какво представляват радарните диаграми и кога има смисъл да ги използвате. След това ще научите как да ги нарисувате с Matplotlib.

Радарни диаграми с Matplotlib

Matplotlib е де факто стандартна библиотека за визуализация на данни за Python, затова първо я разглеждаме.

Целта е да се сравнят три ресторанта в следните категории: качество на храната, разнообразие от храни, качество на обслужването, атмосфера и достъпност. Всички категории варират от 1 до 5, така че са перфектен кандидат за визуализация с радарни диаграми.

Следният кодов фрагмент демонстрира как можете да посочите данни и категории, местоположения на етикети и визуализиране на диаграмата. Има няколко неща, които трябва да знаете предварително:

  • label_loc е списък, който представлява местоположението на етикета в радиани
  • plt.subplot(polar=True) трябва да се използва за създаване на радарна диаграма
  • plt.thetagrids() се използва за поставяне на имената на категориите върху местоположения на етикети

Те може да са объркващи в началото, но ще разберете същината за нула време. Можете да използвате следния кодов фрагмент, за да направите визуализацията:

Фигурата е показана по-долу:

Един бърз поглед към предишната фигура показва, че нещо не е наред. Последната точка от данни не е свързана с първата и ще трябва да поправите това по някакъв начин. Няма 100% интуитивно решение, но ето какво трябва да направите: добавете допълнителен елемент към категориите и ресторантите, който е идентичен с първия елемент.

Можете да направите това ръчно, но какво ще стане, ако не знаете коя е първата стойност? Можете да използвате операциите за разопаковане и индексиране, за да разрешите този проблем. Ето как:

Както можете да видите, е малко досадно да пишете тази логика всеки път (можете да направите функция от нея), но ето как радарната диаграма изглежда сега:

Както можете да видите, много по-добре!

Matplotlib не е широко признат за своята естетика, така че нека да видим как да създадем по-добре изглеждаща визуализация с Plotly.

Радарни диаграми с Plotly

Сюжетът е нещо друго. Лесно е да се правят високо персонализируеми, добре изглеждащи и интерактивни диаграми с почти същото количество код. Радарните диаграми не са изключение.

Това не означава, че те са имунизирани срещу проблемите, които Matplotlib имаше. Все още трябва ръчно да „затворите“ многоъгълника, но резултатът е малко по-добре изглеждаща визуализация.

Следният фрагмент създава същата визуализация, създадена по-рано с Matplolib:

Визуализацията е показана по-долу:

И това е всичко! Plotly също така улеснява запълването на полигоните - просто посочете fill='toself'. Ето един пример:

Визуализацията е показана по-долу:

И ето колко лесно е да правите радарни диаграми с Plotly. Нека приключим нещата.

Заключение

Радарните диаграми предоставят отличен начин за визуализиране на една или повече групи стойности върху множество променливи. Днес научихте как да правите точно това – с напълно измислени данни за удовлетвореността от ресторанта.

Имайте предвид ограниченията или недостатъците на радарните диаграми. Те не са най-добрите опции, ако искате да визуализирате много наблюдения, така че се придържайте към едно или най-много няколко от тях.

Научете повече

Останете свързани

  • Следвайте ме в Medium за повече истории като тази
  • Запишете се за моя бюлетин
  • Свържете се в LinkedIn
  • Разгледайте моя „уебсайт“

Първоначално публикувано в https://www.betterdatascience.com на 15 февруари 2021 г.