Search
import random for i in range(10): print(random.random())
import random for i in range(10): print(random.randint(-10,10))
random.seed( cislo )
plot
Hlavní metodou je funkce matplotlib.pyplot.plt, ktera zobrazi vektor cisel:
from numpy import * import matplotlib.pyplot as plt x = arange(0.,10.,0.1) y = sin(x) plt.plot(y) plt.show()
Všimněte si, ze výsledný graf je na ose 'x' číslován od 0 do 100, neboť to je velikost pole 'y'. Další možností je na zobrazit funkci sinus společně s osou 'x' definovanou dle pole 'x':
plt.plot(x,y)
Popisky os:
plt.xlabel('osa x') plt.ylabel('osa y')
Samostatné úsečky: je třeba zadat pole počátečních x-ových a y-ových souřadnic.
plt.plot([x1,x2],[y1,y2],'k-');
Uložení obrázků do souboru: příkaz: savefig . Pro současné ulozeni obrázků do souboru a zobrazení je třeba volat savefig před příkazem show.
savefig
show
plt.savefig('jmeno.png')
Kreslení historgramu - příkaz hist
import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt size = 10000 y = np.random.randn(size) n, bins, patches = plt.hist(y, 50, normed=0, alpha=0.74) plt.savefig('histogram1.png', dpi=600) plt.show()
Poznámka: meze grafu lze určit i ručně příkazem axis
plt.axis([-5,5, 0, 0.5])
zobrazí graf na ose 'x' v rozsahu -5,5 a na ose 'y' v rozsahu 0 až 0.5.
Ukázky fraktálů. Příklad vykreslení Kochovy křivky.
import numpy as np import matplotlib.pyplot as plt def drawBranch(x, y, length, angle): s = 0.7 a1 = 0.15 a2 = -0.15 if (length < 0.3): return l2 = s*length x1 = x + l2*np.cos(angle) y1 = y + l2*np.sin(angle) plt.plot([x,x1],[y,y1], 'k-') drawBranch(x1,y1,l2, angle+a1) drawBranch(x1,y1,l2, angle+a2) drawBranch(5,0,6,1.57) plt.show()