Ještě než začnene ujistěte se že víte, jak to funguje s importem knihoven.

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,)
Out[50]:
[<matplotlib.lines.Line2D at 0x8f9a8d0>]

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
In [51]:
plot(x,y,'g<')
Out[51]:
[<matplotlib.lines.Line2D at 0x916ec10>]
In [52]:
plot(x,y,'b+:')
Out[52]:
[<matplotlib.lines.Line2D at 0x91a4b50>]
In [53]:
plot(x,y,'r*', markersize=15)
plot(x,y,'y--')
Out[53]:
[<matplotlib.lines.Line2D at 0x9199550>]

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)
Out[56]:
[<matplotlib.lines.Line2D at 0x99c2f50>]

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] )
Out[57]:
(-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')
Out[63]:
<matplotlib.legend.Legend at 0x9b12d90>