2012-06-04 2 views
0

У меня есть список чисел. Список похож на [0,0,1,0,1 ....]. В настоящее время он имеет двоичные цифры, но позже он также может иметь десятичные цифры. Я хочу построить гистограмму этой последовательности в списке. Когда я использую стандартную гистовую библиотеку matplotlib, я получаю только два бара. Он подсчитывает все нули и все, и показывает мне гистограмму с двумя барами. Но я хочу заговорить по-другому. Я хочу a нет баров = длина списка и Высота каждого бара = значение в списке в (позиция = бар #).Гистограмма в Python

Вот код:

def plot_histogram(self,li_input,): 
    binseq = numpy.arange(len(li_input)) 
    tupl = matplotlib.pyplot.hist(li_input,bins=binseq) 
    matplotlib.pyplot.show() 

li_input список обсуждалось выше.

я могу сделать это в неприятную образом, как:

li_input_mod = [] 
    for x in range(len(li_input)): 
    li_input_mod += [x]*li_input[x] 

, а затем построить его, но я хочу что-то лучше.

+0

Так в основном вы хотите сюжет. –

+0

да, как гистограмма – Manish

ответ

3

Поведение, которое вы описываете, - это способ работы гистограммы; он показывает вам распределение значений. Это звучит для меня, как вы хотите создать bar chart:

import matplotlib.pyplot as plt 

x = [0,0,1,0,1,1,0,1,1,0,0,0,1] 
plt.bar(range(len(x)), x, align='center') 

, который будет производить:

Bar chart

Смежные вопросы