Vizualizacija podataka u Python-u

Korišćenje biblioteke matplotlib

Matplotlib je Python-ova biblioteka koja se koristi za vizualizaciju podata.

Crtanje grafika

Funkcija plot( )

  • funkcija plot( ) koristi se za crtanje tačaka u dijagramu
  • podrazumevano, ova funkcija crta liniju od tačke do tačke

Funkcija plot( ) kao svoja prva dva argumenta traži liste koordinata tačaka koje definišu liniju dijagrama. Prvi parametar je lista koja sadrži tačke na x-osi, drugi parametar je lista koja sadrži tačke na y-osi.
Zajedno sa dva argumenta ova funkcija štampa segment definisan sa dve tačke ili sekvencu segmenata definisanih sa više tačaka.
Funkcija plot sa tri argumenta štampa segment i/ili dve tačke formatirane u skladu sa trećim parametrom.

In [1]:
# Primer: nacrtati liniju od tačke (1,2) do tačke (7,8)

import matplotlib.pyplot as plt

x = [1,7]
y = [2,8]

plt.plot (x,y)
plt.show()
In [2]:
# Primer: nacrtati samo tačke (1,2) i (7,8)
import matplotlib.pyplot as plt

x = [1,7]
y = [2,8]

plt.plot (x,y, 'o') 
plt.show()
In [3]:
import matplotlib.pyplot as plt

x = [1, 2, 6, 8]
y = [3, 8, 1, 10]

plt.plot(x, y)
plt.show()
In [4]:
# Primer: Nisu zadate x -koordinate
# Ako ne odredimo tačke na x -osi one će dobiti podrazumevane vrednosti 0,1,2,3 itd. u zavisnosti od dužine niza y

import matplotlib.pyplot as plt

y = [1,2,3,4]  # x vrednosti će biti od 0 do 3, a y od 1 do 4

plt.plot (y, marker='o')  # ako je navedena samo jedna lista matplotlib pretpostavlja da je to niz y vrednosti
plt.show()
In [5]:
plt.plot ([1,2,3,4],[1,4,9,16])
plt.show()
In [6]:
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[1,4,9,16], marker='*')
plt.axis([0,6,0,20]) #ova funkcija odredjuje okvir osa [xmin,xmax,ymin,ymax]
plt.show()

Funkcija scatter()

Prikazuje raštrkane tačke na ravni, definisane listom x koordinata i listom y koordinata.

In [7]:
import matplotlib.pyplot as plt
x = [1,2,3,4,1.5,5,5.5,2.5,4.5] #lista vrednosti promenljive x
y = [1,4,9,2,8,1.5,14,12,11] # lista vrednosti promenljive y
plt.scatter(x,y, color='m') 
plt.axis([0,6,0,16]) 
plt.show() 

Svojstva linije

In [8]:
import matplotlib.pyplot as plt
x = [1,2,3,4] 
y = [1,4,9,16] 
plt.plot(x,y, 'r') # treći parametar i skraćeni oblik format strings marker\line\color
plt.axis([0,6,0,20]) 
plt.show() 
In [9]:
x = [1,2,3,4] # niz vrednosti promenljive x
y1 = [1,4,9,16] # niz vrednosti promenljive y
y2 = [2,5,10,17]
y3 = [3,6,11,18]
plt.plot(x,y1, ':r')
plt.plot(x,y2, 'g')
plt.plot(x,y3, '#FFC125')

plt.axis([0,5,0,20]) 
plt.show() 

Nazivi grafikona, osa i legende

In [10]:
mesec = ['januar','februar','mart','april'] # lista vrednosti x koordinata
temp_min = [-14.5,-5,-1.5,6] # lista vrednosti y koordinata
temp_max = [12.0,21.5,25.3,28.9]
plt.plot(mesec,temp_min, 'b', label='minimalne temp.')
plt.plot(mesec,temp_max, 'r', label='maksimalne temp.')
plt.legend()
plt.xlabel('meseci')
plt.ylabel('min i max temperature')
plt.title('Minimalne i maksimalne temperature za period od januara do aprila')
plt.ylim(-20,40)
plt.show() 

Funkcija bar() - za crtanje stubičastih dijagrama (bar charts)

In [11]:
import matplotlib.pyplot as plt

x = ["A", "B", "C", "D"]
y = [3, 8, 1, 10]

plt.bar(x,y, width=0.3) # width=0.3 ovaj argument određuje širinu trake
plt.show()
In [12]:
import matplotlib.pyplot as plt

x = ["A", "B", "C", "D"]
y = [3, 8, 1, 10]

plt.barh(x,y, color='red')
plt.show()