- Rukovodstvo
- статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
- График Matplotlib Bar — Учебное пособие и примеры
- Введение Matplotlib — одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций — это библиотека для большинства. В этом уроке мы рассмотрим, как построить гистограмму в Matplotlib. Гистограммы отображают числовые величины на одной оси и категориальные переменные — на другой, что позволяет увидеть, сколько вхождений существует для разных категорий. > Гистограммы можно использовать для визуализации временных рядов, а также просто категориальных
- Вступление
- Построить барный участок в Матплотлибе
- Постройте график горизонтальной полосы в Matplotlib
- Изменить цвет диаграммы в Matplotlib
- Гистограмма с полосами ошибок в Matplotlib
- Построение гистограммы с накоплением в Matplotlib
- Заключение
- Визуализация данных в Python
- matplotlib.pyplot.bar#
Rukovodstvo
статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
График Matplotlib Bar — Учебное пособие и примеры
Введение Matplotlib — одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций — это библиотека для большинства. В этом уроке мы рассмотрим, как построить гистограмму в Matplotlib. Гистограммы отображают числовые величины на одной оси и категориальные переменные — на другой, что позволяет увидеть, сколько вхождений существует для разных категорий. > Гистограммы можно использовать для визуализации временных рядов, а также просто категориальных
Вступление
Matplotlib — одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций — это библиотека для большинства.
В этом уроке мы рассмотрим, как построить гистограмму в Matplotlib .
Гистограммы отображают числовые величины на одной оси и категориальные переменные — на другой, что позволяет увидеть, сколько вхождений существует для разных категорий.
Гистограммы можно использовать для визуализации временных рядов, а также только категориальных данных.
Построить барный участок в Матплотлибе
Построить гистограмму в Matplotlib так же просто, как вызвать bar() в экземпляре PyPlot и передать категориальные и числовые переменные, которые мы хотели бы визуализировать.
import matplotlib.pyplot as plt x = ['A', 'B', 'C'] y = [1, 5, 3] plt.bar(x, y) plt.show()
Здесь у нас есть несколько категориальных переменных в списке — A , B и C У нас также есть пара непрерывных переменных в другом списке — 1 , 5 и 3 . Затем связь между ними визуализируется на гистограмме путем передачи этих двух списков в plt.bar() .
В результате получается четкая и простая гистограмма:
Постройте график горизонтальной полосы в Matplotlib
Часто нам может потребоваться построить гистограмму горизонтально, а не вертикально. Этого легко добиться, переключив plt.bar() вызов plt.barh() :
import matplotlib.pyplot as plt x = ['A', 'B', 'C'] y = [1, 5, 3] plt.barh(x, y) plt.show()
В результате получается горизонтально ориентированная гистограмма:
Изменить цвет диаграммы в Matplotlib
Изменить цвет самих полос так же просто, как установить color со списком цветов. Если у вас в списке больше полос, чем цветов, они снова начнут применяться с первого цвета:
import matplotlib.pyplot as plt x = ['A', 'B', 'C'] y = [1, 5, 3] plt.bar(x, y, color=['red', 'blue', 'green']) plt.show()
Теперь у нас есть красиво окрашенная гистограмма:
Конечно, вы также можете использовать сокращенные версии или даже коды HTML:
plt.bar(x, y, color=['red', 'blue', 'green']) plt.bar(x, y, color=['r', 'b', 'g']) plt.bar(x, y, color=['#ff0000', '#00ff00', '#0000ff']) plt.show()
Или вы даже можете поместить одно скалярное значение, чтобы применить его ко всем барам:
Гистограмма с полосами ошибок в Matplotlib
Когда вы наносите на график средние значения списков, что является обычным приложением для гистограмм, у вас будет некоторое пространство для ошибок. Очень полезно построить планки погрешностей, чтобы позволить другим наблюдателям и вам самим знать, насколько правдивы эти средства и какое отклонение ожидается.
Для этого давайте создадим набор данных с некоторыми значениями, вычислим их средние и стандартные отклонения с помощью Numpy и построим их с планками ошибок:
import matplotlib.pyplot as plt import numpy as np x = np.array([4, 5, 6, 3, 6, 5, 7, 3, 4, 5]) y = np.array([3, 4, 1, 3, 2, 3, 3, 1, 2, 3]) z = np.array([6, 9, 8, 7, 9, 8, 9, 6, 8, 7]) x_mean = np.mean(x) y_mean = np.mean(y) z_mean = np.mean(z) x_deviation = np.std(x) y_deviation = np.std(y) z_deviation = np.std(z) bars = [x_mean, y_mean, z_mean] bar_categories = ['X', 'Y', 'Z'] error_bars = [x_deviation, y_deviation, z_deviation] plt.bar(bar_categories, bars, yerr=error_bars) plt.show()
Здесь мы создали три поддельных набора данных с несколькими значениями в каждом. Мы визуализируем средние значения каждого из этих списков. Однако, поскольку средние, а также средние значения могут давать ложное ощущение точности, мы также вычислим стандартное отклонение этих наборов данных, чтобы мы могли добавить их как планки ошибок.
Используя функции Numpy mean() и std() , это очень просто. Тогда мы упаковали бар значение в bars список, барные названия приятного пользовательского опыта в bar_categories и , наконец , — стандартные отклонения значений в error_bars список.
Чтобы визуализировать это, мы вызываем обычную bar() , передавая bar_categories (категориальные значения) и bars (непрерывные значения) вместе с аргументом yerr
yerr вертикально, мы используем ваш аргумент. xerr горизонтально, мы бы использовали аргумент xerr. Здесь мы предоставили информацию о планках погрешностей.
В конечном итоге это приводит к:
Построение гистограммы с накоплением в Matplotlib
Наконец, давайте построим гистограмму с накоплением. Гистограммы с накоплением действительно полезны, если у вас есть группы переменных, но вместо того, чтобы строить их друг рядом с другом, вы хотите построить их друг над другом.
Для этого у нас снова будут группы данных. Затем мы рассчитаем их стандартное отклонение для планок погрешностей.
Наконец, нам понадобится диапазон индексов, чтобы построить эти переменные друг над другом, сохраняя при этом их относительный порядок. Этот индекс, по сути, будет представлять собой диапазон чисел, равный длине всех групп, которые у нас есть.
Чтобы наложить один столбик на другой, используйте bottom аргумент. Вы указываете, что находится bottom этой панели. Чтобы построить x под y , вы должны установить x как bottom y .
Для более чем одной группы вы захотите сложить значения перед построением графика, иначе гистограмма не будет складываться. Мы будем использовать np.add np.add().tolist() чтобы добавить элементы двух списков и создать список обратно:
import matplotlib.pyplot as plt import numpy as np # Groups of data, first values are plotted on top of each other # Second values are plotted on top of each other, etc x = [1, 3, 2] y = [2, 3, 3] z = [7, 6, 8] # Standard deviation rates for error bars x_deviation = np.std(x) y_deviation = np.std(y) z_deviation = np.std(z) bars = [x, y, z] ind = np.arange(len(bars)) bar_categories = ['X', 'Y', 'Z']; bar_width = 0.5 bar_padding = np.add(x, y).tolist() plt.bar(ind, x, yerr=x_deviation, width=bar_width) plt.bar(ind, y, yerr=y_deviation, bottom=x, width=bar_width) plt.bar(ind, z, yerr=z_deviation, bottom=bar_padding, width=bar_width) plt.xticks(ind, bar_categories) plt.xlabel("Stacked Bar Plot") plt.show()
Выполнение этого кода приводит к:
Заключение
В этом руководстве мы рассмотрели несколько способов построения гистограммы с использованием Matplotlib и Python. Мы также рассмотрели, как вычислять и добавлять полосы ошибок, а также полосы стека друг на друга.
Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python :
Визуализация данных в Python
. Станьте опасными с визуализацией данных
✅ 30-дневная гарантия возврата денег без вопросов
✅ от начального до продвинутого
✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)
✅ Обновлено с бонусными ресурсами и руководствами . . .
Визуализация данных в Python с помощью Matplotlib и Pandas — это книга, предназначенная для абсолютных новичков в работе с Pandas и Matplotlib с базовыми знаниями Python и позволяющая им создать прочную основу для расширенной работы с этими библиотеками — от простых графиков до анимированных трехмерных графиков с интерактивными кнопки.
Он служит подробным руководством, которое научит вас всему, что вам нужно знать о Pandas и Matplotlib, в том числе о том, как создавать типы графиков, которые не встроены в саму библиотеку.
Книга «Визуализация данных в Python» , книга для начинающих и средних разработчиков Python, проведет вас через простые манипуляции с данными с помощью Pandas, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. В частности, на протяжении 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.
Он служит уникальным практическим руководством по визуализации данных в виде множества инструментов, которые вы можете использовать в своей карьере.
Licensed under CC BY-NC-SA 4.0
matplotlib.pyplot.bar#
The bars are positioned at x with the given alignment. Their dimensions are given by height and width. The vertical baseline is bottom (default 0).
Many parameters can take either a single value applying to all bars or a sequence of values, one for each bar.
Parameters : x float or array-like
The x coordinates of the bars. See also align for the alignment of the bars to the coordinates.
height float or array-like
width float or array-like, default: 0.8
bottom float or array-like, default: 0
The y coordinate(s) of the bottom side(s) of the bars.
align , default: ‘center’
Alignment of the bars to the x coordinates:
- ‘center’: Center the base on the x positions.
- ‘edge’: Align the left edges of the bars with the x positions.
To align the bars on the right edge pass a negative width and align=’edge’ .
Container with all the bars and optionally errorbars.
Other Parameters : color color or list of color, optional
The colors of the bar faces.
edgecolor color or list of color, optional
The colors of the bar edges.
linewidth float or array-like, optional
Width of the bar edge(s). If 0, don’t draw edges.
tick_label str or list of str, optional
The tick labels of the bars. Default: None (Use default numeric labels.)
label str or list of str, optional
A single label is attached to the resulting BarContainer as a label for the whole dataset. If a list is provided, it must be the same length as x and labels the individual bars. Repeated labels are not de-duplicated and will cause repeated label entries, so this is best used when bars also differ in style (e.g., by passing a list to color.)
xerr, yerr float or array-like of shape(N,) or shape(2, N), optional
If not None, add horizontal / vertical errorbars to the bar tips. The values are +/- sizes relative to the data:
- scalar: symmetric +/- values for all bars
- shape(N,): symmetric +/- values for each bar
- shape(2, N): Separate — and + values for each bar. First row contains the lower errors, the second row contains the upper errors.
- None: No errorbar. (Default)
See Different ways of specifying error bars for an example on the usage of xerr and yerr.
ecolor color or list of color, default: ‘black’
The line color of the errorbars.
capsize float, default: rcParams[«errorbar.capsize»] (default: 0.0 )
The length of the error bar caps in points.
error_kw dict, optional
Dictionary of keyword arguments to be passed to the errorbar method. Values of ecolor or capsize defined here take precedence over the independent keyword arguments.
log bool, default: False
If True, set the y-axis to be log scale.
data indexable object, optional
If given, all parameters also accept a string s , which is interpreted as data[s] (unless this raises an exception).
a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image