Я хотел бы использовать Matplotlib для построения гистограммы над данными, которые были предварительно подсчитаны. Например, скажем, у меня есть необработанные данные
data = [1, 2, 2, 3, 4, 5, 5, 5, 5, 6, 10]
Учитывая эти данные, я могу использовать
pylab.hist(data, bins=[...])
для построения гистограммы.
В моем случае данные были предварительно подсчитаны и представлены в виде словаря:
counted_data = {1: 1, 2: 2, 3: 1, 4: 1, 5: 4, 6: 1, 10: 1}
В идеале, я бы хотел передать эти предварительно подсчитанные данные функции гистограммы, которая позволяет мне управлять шириной бина, диапазоном графика и т.д., как если бы я передал ему необработанные данные. В качестве обходного пути я расширяю свои счета до необработанных данных:
data = list(chain.from_iterable(repeat(value, count) for (value, count) in counted_data.iteritems()))
Это неэффективно, когда counted_data
содержит подсчеты для миллионов точек данных.
Существует ли более простой способ использования Matplotlib для создания гистограммы из моих предварительно подсчитанных данных?
В качестве альтернативы, если проще всего использовать данные штрихового графика, предварительно подготовленные, есть ли удобный метод для "свертывания" моих подсчетов по каждому элементу в подсчет числа?