Kirjastot: matplotlib
Käskyt:
plt.plot(lukujono)
plt.bar (lukujono)
plt.show()
# Ohjelma tutkii kuinka satunnaismuuttujan keskiarvo lähestyy sen odotusarvoa
import matplotlib.pyplot as plt
import random
LKM = 100
YLÄRAJA = 6
summa = 0
luvut = []
frekv = [] #frekvenssit tähän
for i in range(YLÄRAJA):
frekv.append(0)
keskiarvot = []
odotusarvot = []
odotusarvo = (1+YLÄRAJA)/2
print("Odotusarvo on ",odotusarvo)
for i in range(LKM):
luku = random.randint(1,YLÄRAJA)
frekv[luku-1] = frekv[luku-1]+1
luvut.append(luku)
summa = summa+ luku
ka = float(summa/(i+1))
keskiarvot.append(ka)
odotusarvot.append(odotusarvo)
#for i in range(LKM):
# print(keskiarvot[i],";",odotusarvot[i])
for i in range(0,6):
print(i+1,":",frekv[i]," \tsuhteellinen osuus",100*frekv[i]/LKM," %")
print("keskiarvo on ",ka)
#kaksi kuvaajaikkunaa
fig, (ax1,ax2) = plt.subplots(1,2)
fig.suptitle("Tutkimusta")
ax1.plot(keskiarvot, label = 'keskiarvot')
ax1.plot(odotusarvot, label = 'odotusarvo')
ax1.legend(loc = 'upper left')
ax2.bar([1,2,3,4,5,6],frekv)
plt.show()
import matplotlib.pyplot as plt;
def next(luku):
if(luku%2 == 0): #parillinen
return luku/2;
if (luku%2 == 1): #pariton
return luku*3+1;
if __name__ == '__main__':
ALKU = 200;
luvut=[];
indeksi=[];
luvut.append(ALKU);
indeksi.append(1);
for i in range(1,1000):
luvut.append(next(luvut[i-1]));
indeksi.append(i+1);
if luvut[i] == 2 and luvut[i-1] ==4:
break;
#tulostus konsoliin
for i in range(0,len(luvut)):
print(indeksi[i],": ",luvut[i]," ");
#Piirretään luvut-listan sisältö, x-koordinaatti on indeksi
plt.plot(luvut);
plt.show();
Tutkitaan lukujonoa, jossa seuraava luku saadaan
3a+1, jos a pariton
a/2, jos a parillinen
Jono päättyy aina 4,2,1, 4,2,1.... looppiin.
# Ohjelma laskee kuinka pitkiä lukujonoja
# ennen looppia.
import matplotlib.pyplot as plt
import numpy as np
def next(luku):
if(luku%2 == 0): #parillinen
return luku/2;
if (luku%2 == 1): #pariton
return luku*3+1;
def kone(alkuarvo):
ALKU = alkuarvo;
luvut = [];
indeksi = [];
luvut.append(ALKU);
indeksi.append(1);
for i in range(1, 1000):
luvut.append(next(luvut[i - 1]));
indeksi.append(i + 1);
if luvut[i] == 2 and luvut[i - 1] == 4:
return i;
if __name__ == '__main__':
pituudet=[];
for i in range (100):
pituudet.append(kone(i));
plt.plot(pituudet);
plt.show();
import matplotlib.pyplot as plt
import numpy as np
def next(luku):
if(luku%2 == 0): #parillinen
return luku/2;
if (luku%2 == 1): #pariton
return (luku*3)+1;
def kone(alkuarvo):
ALKU = alkuarvo;
luvut = [];
luvut.append(ALKU);
indeksi = [];
indeksi.append(0)
for i in range(1, 1000):
if luvut[i-1] == 1:
#print(ALKU, " pituus : ", i);
return int(i);
break;
luvut.append(next(luvut[i - 1]));
indeksi.append(i);
Print("yli meni kohdassa: ", i)
if __name__ == '__main__':
TOP = 50;
pituudet=[];
for i in range (1,TOP):
pituudet.append(kone(i));
plt.hist(pituudet, density=True, bins=5, rwidth = 0.95)
# ,bins = [0,10,75,150,300] omat luokkarajat
# ,color = "green" Väri
# ,histtype = "step"
# ,orientation="horizontal"
plt.ylabel('f')
plt.xlabel('Jonon pituus');
plt.show();
# for i in pituudet:
# print(pituudet[i]);
import matplotlib.pyplot as plt
import numpy as np
S = 0
n = 0
ka = []
if __name__ == '__main__':
x, y, z = np.loadtxt('pisteet2.txt', delimiter=',', unpack=True)
for data in x:
S = S + data
n=n+1
ka.append( S / n )
print(ka[n-1])
print("ka indeksi",len(ka))
plt.plot(x, ka, label='keskiarvon muutos!')
plt.xlabel('x')
plt.ylabel('ka')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()
import matplotlib.pyplot as plt
import numpy as np
if __name__ == '__main__':
x, y, z = np.loadtxt('pisteet2.txt', delimiter=',', unpack=True)
N = len(x)
colors = np.random.rand(N)
area = z #(30 * np.random.rand(N))**2 # 0 to 15 point radii
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()
import pandas as pd
data = {'A': [45,37,42,35,39],
'B': [38,31,26,28,33],
'C': [10,15,17,21,12] }
df = pd.DataFrame(data,columns=['A','B','C'])
corrMatrix = df.corr()
print (corrMatrix)
import matplotlib.pyplot as plt
import numpy as np
import pandas as pn
if __name__ == '__main__':
A = [0.2,0.3,1.0]
B = [0.21,0.82,1.0]
a = [A,B]
plt.matshow(a)
plt.show()