- 5.3. Bar — гистограмма
- Ширина прямоугольников
- Выравнивание нижнего края прямоугольников
- Отображение погрешности
- Matplotlib Bar Plot – Учебник и примеры
- Matplotlib Bar Plot – Учебник и примеры
- Вступление
- Постройте барный график в Matplotlib
- Постройте график горизонтальной полосы в Matplotlib
- Изменение цвета гистограммы в Matplotlib
- Гистограмма с полосами ошибок в Matplotlib
- Сюжет Stacked Bar Plot в Matplotlib
- Вывод
- Визуализация данных в Python
- Визуализация данных с использованием Matplotlib
- Matplotlib
- Анатомия Matplotlib Рисунок
- Установка Matplotlib
- Вещи, чтобы следовать
- Гистограмма
- Круговая диаграмма
- Временные ряды по линейному графику
- Боксплот и Скрипка
- Boxplot
- Понимание Boxplot
- Скрипичный сюжет
- TwinAxis
- Plotting 2 Plotts w.r.t по оси Y и той же оси X
- Построение одних и тех же данных в разных единицах и на одной оси X
- Участок стека и участок ствола
- Stack Plot
- Процент с накоплением участка
- Stem Plot
- Бар Участок
- Scatter Plot
- 3D Scatterplot
- Вывод
5.3. Bar — гистограмма
Гистограммы устроены очень просто, но изменяя различные параметры мы можем отобразить с их помощью очень много информации, а так же повысить как наглядность данных так и привлекательность самого графика.
Ширина прямоугольников
Чаще всего мы строим гистограммы из одиночных наборов данных, в таких случаях мы можем обойтись, вообще, без каких бы то ни было изменений графика. Просто строим одну или несколько гистограмм на одной области Figure:
Ширина прямоугольников подбирается автоматически и нас это, вполне, устраивает. Но если мы имеем дело с несколькими наборами данных, которые нужно отобразить в пределах одной области Axes, то прямоугольники начинают перекрывать друг друга:
В таких случаях, нам необходимо вручную задавать ширину с помощью параметра width и смещение прямоугольников в массиве x :
В некоторых ситуациях ширина прямоугольников, так же как и их высота, может быть пропорциональна некоторой величине. Что бы задать ширину каждого отдельного прямоугольника можно указать параметр width в виде массива чисел:
Выравнивание нижнего края прямоугольников
Разместить несколько гистограмм на одной области Axes можно не только с помощью горизонтального смещения и изменения ширины прямоугольников, но и с помощью параметра bottom , который задает значение по которому выравнивается нижний край прямоугольников:
Выравнивание для каждого прямоугольника можно задать с помощью массива:
Для того что бы состыковать прямоугольники нескольких наборов данных, достаточно выровнять одни прямоугольники по значениям других:
Для того что бы задать цвет всех прямоугольников достаточно указать его в параметре color :
Так же возможно задать цвет каждого отдельного прямоугольника, указав в параметре color массив цветов:
Не забывайте, что matplotlib поддерживает разные цветовые модели и форматы. Задавая цвет в модели RGBA вы можете контролировать прозрачность прямоугольников, что так же позволяет размещать несколько наборов данных, но без смещения:
Если вам необходимо выделить границу прямоугольников, то вы можете задать ее цвет ( edgecolor ) и толщину ( linewidth ):
Отображение погрешности
На гистограммах можно указывать погрешность измерения величины, как по горизонтали ( xerr ) так и вертикали ( xerr ):
Одно число задает одинаковую погрешность, массив чисел длинной x задает разную но симметричную погрешность для каждого прямоугольника, а массив чисел с формой (2, x) задает минимальное и максимальное значение погрешности для каждого прямоугольника:
Линии погрешности так же можно видоизменять:
Источник
Matplotlib Bar Plot – Учебник и примеры
В этом уроке мы рассмотрим, как построить гистограмму в Matplotlib и Python. Мы рассмотрим основные гистограммы, а также настроим их и расширенные штабелированные гистограммы с примерами.
Автор: David Landup
Дата записи
Matplotlib Bar Plot – Учебник и примеры
Вступление
Matplotlib – одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций-это библиотека для большинства.
В этом уроке мы рассмотрим, как построить гистограмму в Matplotlib .
Гистограммы отображают числовые величины на одной оси и категориальные переменные на другой, позволяя вам увидеть, сколько вхождений существует для различных категорий.
Гистограммы можно использовать как для визуализации временных рядов, так и просто категориальных данных.
Постройте барный график в Matplotlib
Построение гистограммы в Matplotlib так же просто, как вызов функции bar() в экземпляре PyPlot и передача категориальных и непрерывных переменных, которые мы хотели бы визуализировать.
Здесь у нас есть несколько категориальных переменных в списке – A , B и C . У нас также есть пара непрерывных переменных в другом списке – 1 , 5 и 3 . Затем связь между ними визуализируется в виде гистограммы, передавая эти два списка в plt.bar() .
Это приводит к чистой и простой гистограмме:
Постройте график горизонтальной полосы в Matplotlib
Часто мы можем захотеть построить гистограмму горизонтально, а не вертикально. Это легко достижимо путем переключения вызова plt.bar() с вызовом plt.barh() :
Это приводит к горизонтально ориентированной гистограмме:
Изменение цвета гистограммы в Matplotlib
Изменить цвет самих полосок так же просто, как задать аргумент color со списком цветов. Если в списке больше полос, чем цветов, они снова начнут применяться с первого цвета:
Теперь у нас есть красиво окрашенный участок бара:
Конечно, вы также можете использовать стенографические версии или даже HTML-коды:
Или вы даже можете поставить одно скалярное значение, чтобы применить его ко всем барам:
Гистограмма с полосами ошибок в Matplotlib
Когда вы строите средние значения списков, что является обычным приложением для гистограмм, у вас будет некоторое пространство ошибок. Очень полезно построить диаграммы ошибок, чтобы другие наблюдатели и вы сами знали, насколько правдивы эти средства и какое отклонение ожидается.
Для этого давайте создадим набор данных с некоторыми значениями, рассчитаем их средние значения и стандартные отклонения с помощью Numpy и построим их с помощью полос ошибок:
Здесь мы создали три поддельных набора данных с несколькими значениями в каждом. Мы визуализируем средние значения каждого из этих списков. Однако, поскольку средние значения, а также средние значения могут давать ложное представление о точности, мы также рассчитаем стандартное отклонение этих наборов данных, чтобы добавить их в виде баров ошибок.
Используя функции Numpy mean() и std () , это легкий ветерок. Затем мы упаковали значения баров в список bars , имена баров для приятного пользовательского опыта – в bar_categories и, наконец, значения стандартного отклонения-в список error_bars .
Чтобы визуализировать это, мы вызываем регулярную функцию bar () , передавая в bar_categories (категориальные значения) и bars (непрерывные значения) вместе с аргументом yerr .
Поскольку мы строим график вертикально, мы используем аргумент yerr . Если бы мы строили график горизонтально, мы бы использовали аргумент xerr . Здесь мы предоставили информацию о барах ошибок.
Это в конечном счете приводит к:
Сюжет Stacked Bar Plot в Matplotlib
Наконец, давайте построим график сложенных столбиков. Штабелированные гистограммы действительно полезны, если у вас есть группы переменных, но вместо того, чтобы строить их одну рядом с другой, вы хотели бы построить их одну поверх другой.
Для этого у нас снова будут группы данных. Затем мы рассчитаем их стандартное отклонение для баров ошибок.
Наконец, нам понадобится диапазон индексов, чтобы построить эти переменные друг над другом, сохраняя их относительный порядок. Этот индекс будет по существу представлять собой диапазон чисел длины всех групп, которые мы имеем.
Чтобы сложить один бар на другой, вы используете аргумент bottom . Вы указываете, что находится на дне этой панели. Чтобы построить x под y , вы должны установить x как дно из y .
Для более чем одной группы вам нужно будет сложить значения вместе перед построением графика, иначе гистограмма не будет складываться. Мы будем использовать Numpy np.add().to list() для добавления элементов двух списков и создания списка обратно:
Запуск этого кода приводит к:
Вывод
В этом уроке мы рассмотрели несколько способов построения гистограммы с помощью Matplotlib и Python. Мы также рассмотрели, как вычислять и добавлять бары ошибок, а также складывать бары друг на друга.
Если вы заинтересованы в визуализации данных и не знаете, с чего начать, обязательно ознакомьтесь с нашей книгой о Визуализации данных в Python .
Визуализация данных в Python , книга для начинающих и промежуточных разработчиков Python, проведет вас через простые манипуляции с данными с Пандами, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет вам, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair.
Визуализация данных в Python
Хотите действительно понять свои данные?
✅ 30-дневная гарантия возврата денег без вопросов
✅ От Новичка до продвинутого
✅ Регулярно обновляется (последнее обновление в январе 2021 года)
✅ Содержит БЕСПЛАТНОЕ Дополнительное Руководство
Источник
Визуализация данных с использованием Matplotlib
Дата публикации Nov 12, 2018
Визуализация данных является важной частью бизнес-деятельности, поскольку в настоящее время организации собирают огромное количество данных. Датчики во всем мире собирают данные о климате, данные о пользователях с помощью щелчков, данные об автомобилях для прогнозирования рулевых колес и т. Д. Все эти собранные данные содержат ключевую информацию для предприятий, а визуализация упрощает их интерпретацию.
Данные настолько хороши, насколько они представлены.
Почему визуализации важны?
Визуализация — это самый простой способ анализа и поглощения информации. Визуальные материалы помогают легко понять сложную проблему. Они помогают в выявлении закономерностей, отношений и выбросов в данных. Это помогает лучше и быстрее понять проблемы бизнеса. Это помогает создать убедительную историю, основанную на визуальных эффектах. Выводы, полученные из визуальных элементов, помогают строить стратегии для бизнеса. Он также является предшественником многих высокоуровневых данных анализа для исследовательского анализа данных (EDA) и машинного обучения (ML).
Люди являются визуальными существами. Бесчисленные исследования показывают, как наш мозг подключен к зрению и обрабатывает все быстрее, когда это происходит через глаз.
«Даже если ваша роль напрямую не связана с наукой о данных, полезно знать, на что способна визуализация данных и как она реализуется в реальном мире».
Визуализация данных в python может быть сделана через множество пакетов. Мы будем обсуждать пакет matplotlib. Его можно использовать в скриптах Python, ноутбуках Jupyter и серверах веб-приложений.
Matplotlib
Matplotlib — это двумерная библиотека для построения графиков, которая помогает визуализировать фигуры. Matplotlib эмулирует Matlab как графики и визуализации. Matlab не бесплатен, его сложно масштабировать, а язык программирования утомителен. Итак, matplotlib в Python используется как надежная, бесплатная и простая библиотека для визуализации данных.
Анатомия Matplotlib Рисунок
Фигура содержит общее окно, в котором происходит построение графика, а внутри фигуры — то, где строятся фактические графики. Каждая ось имеет оси X и Y для построения. Внутри осей содержатся названия, метки, метки, связанные с каждой осью. Важной фигурой matplotlib является то, что мы можем больше, чем оси на фигуре, которая помогает в построении нескольких графиков, как показано ниже. В matplotlib pyplot используется для создания фигур и изменения характеристик фигур.
Установка Matplotlib
Тип !pip install matplotlib в блокноте Jupyter или если он не работает в типе cmd conda install -c conda-forge matplotlib , Это должно работать в большинстве случаев.
Вещи, чтобы следовать
Построить Matplotlib довольно просто. Как правило, при построении графика они выполняют одни и те же шаги на каждом графике. Matplotlib имеет модуль под названием pyplot, который помогает в построении фигуры. Блокнот Jupyter используется для запуска графиков. Мы import matplotlib.pyplot as plt для этого вызовите модуль пакета.
- Импорт необходимых библиотек и наборов данных для построения графиков с использованием Pandas pd.read_csv()
- Извлечение важных частей для графиков с использованием условий на Pandas Dataframes.
- plt.plot() для построения линейного графика аналогично вместо графика используются другие функции для построения графика. Все функции построения графика требуют данных, и они предоставляются в функции через параметры.
- plot.xlabel , plt.ylabel для маркировки осей х и у соответственно.
- plt.xticks , plt.yticks для маркировки точек отметок наблюдения по осям X и Y соответственно.
- plt.legend() для обозначения переменных наблюдения.
- plt.title() для задания названия сюжета.
- plot.show() для отображения сюжета.
Гистограмма
Гистограмма принимает серию данных и делит данные на несколько блоков. Затем он строит точки данных частоты в каждом бине (то есть интервал точек). Это полезно для понимания количества диапазонов данных.
Когда использовать:Мы должны использовать гистограмму, когда нам нужно количество переменных в графике.
Например: количество конкретных игр, продаваемых в магазине.
Сверху мы видим гистограмму для посетителей Гранд-Каньона по годам. plt.hist() принимает первый аргумент в качестве числовых данных по горизонтальной оси, т.е. GrandCanyon visitor.bins = 10 используется для создания 10 бинов между значениями посетителей в GrandCanyon.
Сверху мы можем видеть компоненты, которые составляют гистограмму, n как максимальные значения в каждом бине гистограммы, то есть 5,9, и так далее.
Совокупное свойство дает нам конечную добавленную стоимость и помогает нам понять увеличение стоимости в каждом бине.
Диапазон помогает нам понять распределение значений между указанными значениями.
Несколько гистограмм полезны для понимания распределения между двумя переменными сущностей. Мы видим, что GrandCanyon имеет сравнительно больше посетителей, чем BryceCanyon.
Реализация:Гистограмма
Круговая диаграмма
Это круговой график, который разделен на кусочки для иллюстрации числовой пропорции. Срез круговой диаграммы должен показать соотношение частей из целого.
Когда использовать:Круговая диаграмма должна использоваться редко, так как трудно сравнивать разделы диаграммы Гистограмма используется вместо этого, так как сравнение разделов легко.
Например: доля рынка в фильмах.
Над, plt.pie() принимает числовые данные в качестве 1-го аргумента, т.е. процент и метки для отображения в качестве второго аргумента, т. е. сектор. В конечном счете, это показывает распределение данных пропорционально пирогу.
Сверху мы можем компоненты, которые составляют круговую диаграмму, и она возвращает объект клина, текст в метках и так далее.
Круговая диаграмма может быть легко настроена и сверху отформатированы значения цвета и метки.
Сверху взорваться используется, чтобы отделить точки от пирога. Похоже на кусок пиццы.
Временные ряды по линейному графику
Временная последовательностьявляется линейным графиком, и он в основном соединяет точки данных прямой линией. Это полезно для понимания тенденции с течением времени. Это может объяснить корреляцию между точками по тренду. Восходящий тренд означает положительную корреляцию, а нисходящий тренд — отрицательную корреляцию. В основном используется для прогнозирования, мониторинга моделей.
Когда использовать:Временные ряды должны использоваться, когда одна или несколько переменных должны быть нанесены на график с течением времени.
Например: анализ рынка акций компаний, прогнозирование погоды.
Во-первых, преобразование даты в панды DateTime для более удобного отображения данных.
Сверху, fig.add_axes используется для построения холста. Проверь этоКаковы различия между add_axes и add_subplot?понимать топоры и сюжеты. plt.plot() принимает 1-й аргумент в качестве числовых данных, т.е. дату, а 2-й аргумент — для числовых данных запаса. AAPL Stock рассматривается как ax1, который является внешней фигурой, а на ax2 IBM Stock рассматривается для построения графика, который является вставкой.
На предыдущем рисунке add_axes используется для добавления осей к фигуре, тогда как сверху add_subplot добавляет к фигуре несколько вспомогательных участков. fig.add_subplot(237) не может быть сделано, так как есть только 6 возможных участков.
Мы видим, что акции технологических компаний следуют восходящей тенденции, показывая трейдерам положительные результаты для инвестиций в акции.
Боксплот и Скрипка
Boxplot
Boxplot дает хорошую сводку данных. Это помогает лучше понять наше распределение.
Когда использовать:Его следует использовать, когда нам требуется использовать общую статистическую информацию о распределении данных. Он может быть использован для обнаружения выбросов в данных.
Например: кредитный рейтинг клиента. Мы можем получить максимум, минимум и намного больше информации о марке.
Понимание Boxplot
Из приведенной выше диаграммы линия, которая делит прямоугольник на 2 части, представляет медиану данных. Конец рамки показывает верхний квартиль (75%), а начало рамки — нижний квартиль (25%). Верхний квартиль также называется 3-м квартилем и, аналогично, нижний квартиль также называется 1-м квартилем. Область между нижним квартилем и верхним квартилем называется межквартильным диапазоном (IQR) и используется для аппроксимации 50% -ного разброса в средних данных (75–25 = 50%). Максимум — это самое высокое значение в данных, так же как и минимум — это самое низкое значение в данных, его также называют заглавными буквами. Точки вне рамок и между максимумом и максимумом называются «усы», они показывают диапазон значений в данных. Крайние точки являются выбросами к данным. Обычно используемое правило заключается в том, что значение является выбросом, если оно меньше, чем нижний квартиль — 1,5 * IQR или выше, чем верхний квартиль + 1,5 * IQR.
BP содержит компоненты boxplot, такие как коробки, усы, медианы, шапки. Seaborn — другая библиотека для построения графиков, которая упрощает создание пользовательских графиков, чем matplotlib. patch_artist делает возможной настройку notch делает медиану более заметной
Предостережение об использовании boxplot — количество наблюдений в уникальном значении не определено, Jitter Plot в Seaborn может преодолеть это предостережение, или Violinplot также полезен
Скрипичный сюжет
Сюжет для скрипки — лучший график, чем для блокпоста, так как он дает гораздо более широкое понимание распределения. Это напоминает скрипку, а плотные участки указывают на большее распределение данных, в противном случае скрытые за рамками
Когда использовать:Это расширение для boxplot. Его следует использовать, когда нам требуется лучшее интуитивное понимание данных.
Плотность баллов в середине кажется больше, так как студенты, как правило, набирают средние баллы по предметам.
TwinAxis
TwinAxis помогает визуализировать построение двух графиков по оси Y и той же оси X.
Когда использовать:Это следует делать, когда нам требуется 2 участка или сгруппированные данные в одном направлении.
Например: население, данные по ВВП на той же оси х (дата).
Plotting 2 Plotts w.r.t по оси Y и той же оси X
Извлечение важных деталей, т. Е. Дата для оси X, TempAvgF и WindAvgMPH для другой оси Y
Как мы можем есть только 1 ось, twinx() используется для сдвоения оси x, а левая ось y используется для Temp, а правая ось y используется для WindMPH.
Построение одних и тех же данных в разных единицах и на одной оси X
Функция определена для расчета различных единиц данных, т.е. преобразования из Фаренгейта в Цельсий.
Мы можем видеть, что слева от оси Y нанесен темп в градусах Фаренгейта, а справа от оси абсцисс — в градусах Цельсия.
Реализация:TwinAxis
Участок стека и участок ствола
Stack Plot
Диаграмма стеков визуализирует данные в стеках и показывает распределение данных по времени.
Когда использовать:Он используется для проверки нескольких участков переменной площади на одном графике.
Например: это полезно для понимания изменения распределения в нескольких переменных за интервал.
Поскольку стековый график требует наложения, это делается с использованием np.vstack()
plt.stackplot принимает в первом аргументе числовые данные, т. е. год, а во втором аргументе данные, собранные вертикально, т.е. национальные парки.
Процент с накоплением участка
Аналогично графику стека, но каждая информация преобразуется в процент распределения, которое она содержит.
data_prec используется для разделения общего процента на отдельные процентные распределения. s = np_data.sum(axis=1) вычисляет сумму по столбцам, np_data.divide(s,axis=0) делит данные по строкам.
Stem Plot
Stemplot даже принимает отрицательные значения, поэтому разница берется из данных и отображается во времени.
Когда использовать:Это похоже на график стека, но разница помогает в сравнении точек данных.
diff() используется для нахождения разницы между предыдущими данными и сохраняется в другой копии данных. Первая точка данных — это NaN (не число), поскольку она не содержит никаких предыдущих данных для расчета разницы.
(31n) Подплоты создаются, чтобы разместить 3 строки 1 столбца на участке. plt.stem() принимает 1-й аргумент в качестве числовых данных, т.е. год, и 2-й аргумент в качестве числовых данных посетителей Национального парка.
Бар Участок
Гистограмма показывает распределение данных по нескольким группам. Это обычно путают с гистограммой, которая берет только числовые данные для построения. Это помогает в сравнении нескольких числовых значений.
Когда использовать: Используется для сравнения нескольких групп.
Например: студент оценивает на экзамене.
plt.bar() принимает 1-й аргумент в качестве меток в числовом формате и 2-й аргумент в качестве значения, которое он представляет w.r.t для графиков.
Реализация:Бар Участок
Scatter Plot
Точечный график помогает визуализировать 2 числовые переменные. Это помогает в определении связи данных с каждой переменной, то есть корреляции или трендовых паттернов. Это также помогает в обнаружении выбросов на участке.
Когда использовать: Используется в понятиях машинного обучения, таких как регрессия, где x и y — непрерывные переменные. Он также используется при разбросе кластеров или обнаружении выбросов.
plt.scatter() принимает 2 числовых аргумента для разброса точек данных на графике. Это похоже на линейный сюжет за исключением того, что без связанных прямых линий. Под корром мы понимаем корреляцию, и это означает, что, насколько коррелирует ВВП с ожидаемой продолжительностью жизни, поскольку мы видим, что он является положительным, это означает, что по мере роста ВВП страны продолжительность жизни также увеличивается.
Взяв логарифм ВВП, мы можем получить намного лучшую корреляцию, так как можем лучше подобрать точки, это преобразует ВВП в логарифмическую шкалу, т.е. log ($ 1000) = 3.
3D Scatterplot
3D Scatterplot помогает визуализировать 3 числовые переменные в трехмерном графике.
Это похоже на разброс, за исключением того, что на этот раз мы добавим 3 числовые переменные. Посмотрев на график, мы можем сделать вывод, что с увеличением года и ВВП ожидаемая продолжительность жизни также увеличивается.
Реализация:Scatter Plot
Найдите приведенный выше код в этомGithub Repo,
Вывод
Таким образом, мы узнали, как строить графики визуализации данных, используя одну числовую переменную и несколько переменных. Теперь мы можем легко строить графики для интуитивного понимания наших данных с помощью визуализаций.
Источник