Гистограмма относительной частоты — это график, отображающий относительную частоту значений в наборе данных.
Вы можете использовать следующий синтаксис для создания гистограммы относительной частоты в 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())

Обратите внимание, что ось Y теперь отображает относительные частоты в процентах.
Дополнительные ресурсы
В следующих руководствах объясняется, как создавать другие распространенные диаграммы в Matplotlib:
Как изменить цвет гистограммы Matplotlib
Как настроить размер бина в гистограммах Matplotlib
Как создать гистограмму из Pandas DataFrame