Wykres słupkowy w Pythonie

0

Jak narysowac najprostszy na swiecie wykres slupkowy w Pythonie ? Mam 2 listy, x oraz y w ktorych mam dane. Np dla x = 2 musze miec slupek o wysokosci np. 50. Jak to zrobic? No i chcialbym ustalic skale [od,do] i tyle :) Pomoze ktos? Wszystkie potrzebne narzedzia juz mam (matplotlib,numpy), tylko z tym problem :(

0

Ok, troszke sobie juz poradzilem. Skorzystalem z modulu graphs. Ale dalej jest zle. Wychodzi mi jakis inny ykres - wartosci OY nie sa brane z mojej listy, tylko sa jakies nie wiadomo skad. (a ja chcialbym miec slupki o wysokosci podanej na liscie y, odpowiednio dla kazdego z x, czyli dla x=4 mam y = 1, dla x = 5, mam y = 2, itd ... )Ktos pomoze? Wynikowy wykres mozna zobaczyc w pliku file1.html

import graphs

x_data = ['4','5','6','7']
y_data = [1,2,1,3]

graph = graphs.BarGraph('vBar')
graph.values = y_data
graph.labels = x_data
fileOut = open("file1.html",'w')
text = graph.create()
text = text.replace('%','')
fileOut.write(text)
fileOut.close()
0

Ok, udało się, pozostaje jednak pewien problem. Jeśli mam dużo wartości na OX, wykres staje się nieczytelny. Co zrobić, aby wyświetlać tylko niektóre wartości na OX? Tzn. słupki byłyby dla wszystkich ox, ale podpisy na OX nie dla wszystkic, zeby sie nie zamazywalo ... Oto kod:

from pylab import *

x = [1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
y = [10,9,8,7,6,5,4,3,2,1,10,9,8,7,6,5,4,3,2,1,10,9,8,7,6,5,4,3,2,1,10,9,8,7,6,5,4,3,2,1,10,9,8,7,6,5,4,3,2,1,10,9,8,7,6,5,4,3,2,1]

x_a = arange(len(x)) 

ax = subplot(111)
bar(x_a, y)
xticks( x_a + 0.5,x )
show()

1 użytkowników online, w tym zalogowanych: 0, gości: 1