Да, когда вы звоните plt.hist
, возвращается местоположение ячеек, а также количество записей в каждой ячейке. Допустим, вы сгенерировали три гистограммы (я собираюсь go для гистограмм 0, 1 и 2, потому что python):
import matplotlib.pyplot as plt
import numpy as np
x0 = np.random.rand(25)
x1 = np.random.rand(25)
x2 = np.random.rand(25)
counts0, bins0, patches0 = plt.hist(x0)
counts1, bins1, patches1 = plt.hist(x1)
counts2, bins2, patches2 = plt.hist(x2)
Расположение бинов для гистограммы 0 затем сохраняется в bins0
.
Количество записей в ячейках гистограммы 0 затем сохраняется в counts0
.
Тогда у меня возникнет соблазн собрать их в 2d массивы:
counts = np.vstack([counts0, counts1, counts2]).T
bins = np.vstack([bins0, bins1, bins2]).T
Теперь bins[i, j]
указывает местоположение бина i
для гистограммы j
. Точно так же counts[i, j]
содержит количество записей в бине i
гистограммы j
.
С этой настройкой вы можете получить счетчики в бине i
для гистограмм 0, 1 и 2 как counts[i]
.
Кроме того, если вам на самом деле не нужны графики и вы только вызываете plt.hist
, чтобы получить указатель на counts
и bins
, тогда вы можете использовать np.histogram
вместо. Синтаксис аналогичен: counts, bins = np.histogram(x)
(np.histogram
не возвращает исправления).