#!/usr/bin/env python # coding: utf-8 # Ještě než začnene ujistěte se že víte, jak to funguje s # [importem knihoven](http://hroch.spseol.cz/~nozka/python/matplotlib/#knihovnyazvislosti). # # Matplotlib -- základy pro tvorbu grafů # ======================================= # # Nejprve si spojíme několik bodů # ------------------------------- # # Mám dvě řady čísel. Jedna představuje hodnoty na ose `x`, druhá představuje hodnoty na ose `y`. # In[50]: x=[-1,5,10,18,20] y=[ 2,3,15,8,1] plot(x,y,) # Funkci plot můžeme předat další parametr, který určuje: # # * styl čáry: `- -- -. :` # * barvu: `b g r c m y k w` # * styl vykreslení bodu: `. , o v ^ < > s p h H * d D _ | + x` # * [chci vědět víc](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot) # In[51]: plot(x,y,'g<') # In[52]: plot(x,y,'b+:') # In[53]: plot(x,y,'r*', markersize=15) plot(x,y,'y--') # Příklad s exponenciální funkcí # ------------------------------- # # Nejprve vytvoříme hodnoty na hodnoty pro osu x:... # In[54]: x=linspace(-10,2,200) # ... a poté pro osu y:... # In[55]: y=exp(x) # ...závyslot si můžeme vykreslit:... # In[56]: plot(x,y) # Můžeme si zobrazit mřížku, popsat osy a upravit rozsah os:... # In[57]: plot(x,y) grid(True) xlabel('x') ylabel('y') xlim( [-11,3] ) ylim( [-1,10] ) # Příklad s funkcí sinus, f=50 Hz # -------------------------------- # # Nejpve si vytvoříme časovou osu:.. # In[58]: f=50 t=linspace(0,0.08,200) # ... vypočítáme hodnoty napětí:.. # In[59]: u=1.2*cos(2*pi*f*t) # ... a proudu: # In[60]: i=0.7*sin(2*pi*f*t-pi/4) # ... a vyneseme do grafu: # In[61]: plot(t,u,t,i) grid(True) # Vypočítáme výkon:.. # In[62]: p=u*i # Vyneseme vše do grafu, popíšeme osy, uděláme nadpis a legendu: # In[63]: figure(figsize=(10,7)) plot(t,u,':',label=u'elektrické napětí') plot(t,i,'--',label=u'elektrický proud') plot(t,p,label=u'elektrický výkon') xlim([0,0.08]) ylim([-1.3,1.8]) title(u'Časový průběh napětí proudu a výkonu') minorticks_on() grid(True) xlabel('t [s]') ylabel('u [V], i [A], p [W]') legend(loc='upper right')