Как создать гистограмму относительной частоты в Matplotlib

Как создать гистограмму относительной частоты в Matplotlib

Гистограмма относительной частоты — это график, отображающий относительную частоту значений в наборе данных.

Вы можете использовать следующий синтаксис для создания гистограммы относительной частоты в Matplotlib в Python:

import matplotlib.pyplot as plt
import numpy as np

#define plotting area
fig = plt.figure()
ax = fig.add_subplot (111)

#create relative frequency histogram
ax.hist (data, edgecolor='black', weights=np.ones_like (data) / len (data))

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: создание гистограммы относительной частоты в Matplotlib

Следующий код показывает, как создать обычную гистограмму частоты в Matplotlib:

import numpy as np
import matplotlib.pyplot as plt

#define data values
data = [8, 8, 9, 12, 13, 13, 14, 14, 15, 18, 22, 23, 24, 25, 30]

#create frequency histogram
fig = plt.figure()
ax = fig.add_subplot (111)
ax.hist (data, edgecolor='black') 

По оси X показаны ячейки для значений данных, а по оси Y показана частота для каждой ячейки.

Вместо этого мы можем использовать следующий код для отображения относительных частот по оси Y:

import numpy as np
import matplotlib.pyplot as plt

#define data values
data = [8, 8, 9, 12, 13, 13, 14, 14, 15, 18, 22, 23, 24, 25, 30]

#create relative frequency histogram
fig = plt.figure()
ax = fig.add_subplot (111)
ax.hist (data, edgecolor='black', weights=np.ones_like (data) / len (data)) 

По оси Y теперь отображаются относительные частоты.

Например, всего в наборе данных 15 значений.

Таким образом, вместо того, чтобы показывать частоту, равную 4 , по оси Y для самого высокого столбца на графике, ось Y теперь показывает 4/15 = 0,2667 .

Мы также можем использовать функцию PercentFormatter() из Matplotlib для отображения значений по оси Y в процентах:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib. ticker import PercentFormatter

#define data values
data = [8, 8, 9, 12, 13, 13, 14, 14, 15, 18, 22, 23, 24, 25, 30]

#create relative frequency histogram with percentages on y-axis
fig = plt.figure()
ax = fig.add_subplot (111)
ax.hist (data, edgecolor='black', weights=np.ones_like (data)\* 100 / len (data))
ax.yaxis.set_major_formatter (PercentFormatter())
Гистограмма относительной частоты Matplotlib

Обратите внимание, что ось Y теперь отображает относительные частоты в процентах.

Дополнительные ресурсы

В следующих руководствах объясняется, как создавать другие распространенные диаграммы в Matplotlib:

Как изменить цвет гистограммы Matplotlib
Как настроить размер бина в гистограммах Matplotlib
Как создать гистограмму из Pandas DataFrame

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.