2015-12-23 2 views
0

Я борюсь WTH построения гистограммы с двумя списками через модуль pylab (который я должен использовать)Plotting гистограммы из списков с помощью pylab

Первый список, totalTime, заполняется 7 значений с плавающей точкой рассчитанный в рамках программы.

Второй список, raceTrack, заполнен 7 строковыми значениями, которые представляют название гоночной трассы.

totalTime [0] является время, затраченное на ипподроме [0], totalTime [3] является время, затраченное на ипподроме [3], и т.д. ...

Я разобрали массив и закругленные значения в 2 десятичного

totalTimes.sort() 
myFormattedTotalTimes = ['%.2f' % elem for elem in totalTimes] 

myFormattedTotalTimes 'выход (когда значение ввода 100)

['68.17', '71.43', '71.53', '84.23', '84.55', '87.20', '102.85'] 

Я бы нужен использовать значение в Li st, чтобы создать гистограмму, где ось x будет показывать имя трека гонки, а ось y покажет время на этом конкретном треке. Ive made quickly an excel histogram to help understand.

I have attempted but to no avail

for i in range (7): 
    pylab.hist([myFormattedTotalTimes[i]],7,[0,120]) 
pylab.show() 

Любая помощь будет очень ценится, я совершенно потерял на этом.

+0

Это кажется, что это гистограмма, но не гистограмма? –

ответ

0

Как говорится в @John Doe, я думаю, что вам нужна гистограмма. Из Matplotlib example следующее делает то, что вы хотите,

import matplotlib.pyplot as plt 
import numpy as np 

myFormattedTotalTimes = ['68.17', '71.43', '71.53', '84.23', '84.55', '87.20', '102.85'] 

#Setup track names 
raceTrack = ["track " + str(i+1) for i in range(7)] 

#Convert to float 
racetime = [float(i) for i in myFormattedTotalTimes] 

#Plot a bar chart (not a histogram) 
width = 0.35  # the width of the bars 
ind = np.arange(7)  #Bar indices 

fig, ax = plt.subplots(1,1) 
ax.bar(ind,racetime, width) 
ax.set_xticks(ind + width) 
ax.set_xticklabels(raceTrack) 
plt.show() 

Который выглядит, enter image description here