Documente Academic
Documente Profesional
Documente Cultură
Folosind functia subplot() afisati graficele suprapuse pe verticala in aceeasi figura. Etichetati axele si
adaugati un titlu.
x1=linspace(0.0,5.0,100)
y1=cos(2*pi*x1)*exp(-x1)
subplot(2,1,1)
plot(y1)
xlabel('Axa x')
ylabel('Axa y')
title('Grafic 1')
x2=linspace(0,2,50)
y2=cos(2*pi*x2)
subplot(2,1,2)
subplots_adjust(hspace=0.8)
plot(y2)
axis('tight')
xlabel('x')
ylabel('y')
title('Grafic 2')
Graficul in coordinate carteziene sa fie cu linie rosie punctata si fiecare punct de pe grafic sa fie marcat
cu un patrat. Etichetati axele si adaugati un text pe suprafata graficului.
x=linspace(0,2*pi,50)
f=1+2*cos(5*x)
subplot(2,1,1)
plot(f,'r--,',marker='s')
xlabel=('x')
ylabel=('y')
text(0.5,1,'grafic')
subplot(2,1,2,polar=True)
plot(f,x,'b',lw=1)
subplots_adjust(top=1)
Indicatie: puteti sa folositi liste sau sa folositi metoda split() care se aplica stringurilor.
print(',\n'.join(a))
4. Definiti un dictionar ale carui chei sa fie diverse fructe. Scrieti functia care va printa valoarea unei
anumite chei.
d={'cirese':'rosii','banane':'galbene'}
def f(d):
print(d.get('cirese'))
f(d)
5. Creati clasa Punct2D ce reprezinta coordonatele x,y ale unui punct. O instanta a clasei se va afisa
asa: |x,y|. Adaugati clasei metoda Deplasare() care va avea ca rezultat deplasarea cu dx si dy de la
locatia initiala x,y. Creati o instanta a clasei pt valorile x=10 si y=5 si apelati metoda Deplasare pt
valorile dx=40 si dy=25.
class Punct2D():
def __init__(self,x,y):
self.x=x
self.y=y
def __str__(self):
return '|'+str(self.x)+','+str(self.y)+'|'
def Deplasare(self,dx,dy):
self.dx=dx+self.x
self.dy=dy+self.y
a=Punct2D(10,5)
a.Deplasare(40,25)
print(a)
print(a.dx,a.dy)
6. Fie functia f1=xsin(pi/x) definita pe intervalul [-5,2] si functia g2=ex/2sin2x definite pe [0,5].
x=linspace(-5,2,50)
f1=x*sin(pi/x)
subplot(2,1,1)
plot(f1,'y--',marker='o')
xlabel=('x')
ylabel=('y')
title=('grafic 1')
grid(True)
g=linspace(0,5,50)
g2=exp(x/2)*sin(2*x)
subplot(2,1,2)
plot(g2,'g-',lw=2)
Creati lista b=[7,4,8,5] in doua moduri: folosind bucla for si folosind list comprehension. Indicatie:
elementele din lista b sunt cele din lista a mai mari decat 3.
a=[1,2,3,7,1,4,2,1,8,3,5]
b=[]
for i in range(0,len(a)):
if a[i]>3:
b.append(a[i])
print(b)
print(z)
Cos(2pix1)*e-x1
Cos(2pix2)
Sin(2pix2)
x1=linspace(0,2,50)
x2=linspace(0,5,50)
a=cos(2*pi*x1)*exp(-x1)
b=cos(2*pi*x2)
c=sin(2*pi*x2)
subplot(3,1,1)
plot(a,marker='o')
xlabel('x')
ylabel('y')
title('grafic a')
tight_layout(pad=0.1)
subplot(3,1,2)
subplots_adjust(top=1.5)
plot(b,'r')
xlabel('x',labelpad =0.5)
ylabel('y')
title('grafic b')
subplot(3,1,3)
plot(c,'g')
title('grafic c')
xlabel('x')
ylabel('y')
import numpy
#x=random.rand(5,6)
x=arange(30).reshape(5,6)
print(x)
print(x[:,2])
print(x[4,1::2])
import pandas as pd
x=np.arange(10,35).reshape(5,5)
print(x)
coloane=['ab','bc','cd','de','ef']
x=pd.DataFrame(x,columns=coloane)
print(x)
x['fg']=100
print(x)
x.loc['1':'3','cd']=np.NaN
print(x)
print(x.fillna('xxx'))
11. Definiti clasa Cerc care are metoda arie, iar in functia de printare va afisa: Cerc cu raza de…
class Cerc():
def __init__(self,r):
self.r=r
def Arie(self):
self.a=2*pi*(self.r**2)
def __str__(self):
cerc=Cerc(2)
cerc.Arie()
print(cerc)
Y1=x/x3-2
Y2=e-xcos2pix
Y3=xsinx(x2+1)
Desenati in aceeasi figura toate cele trei grafice cu tipuri de linii diferite pt punctele pe grafic. Adaugati
titlu, legenda si etichetati axele.
x=linspace(0,5,50)
f=figure(figsize=(10,8))
y1=x/((x**3)-2)
y2=exp(-x)*cos(2*pi*x)
y3=x*sin((x**2)+1)
f.add_subplot(311)
plot(y1,'g-',label=r'$y1=x/((x^3)-2)$')
legend(loc='lower right')
title('grafic 1')
xlabel('x',labelpad=-10)
ylabel('y')
tight_layout(2)
f.add_subplot(312)
plot(y2,'r--',label=r'$y1=x/((x^3)-2)$')
legend(loc='upper right')
title('grafic 2')
xlabel('x',labelpad=-10)
ylabel('y')
f.add_subplot(313)
plot(y3,'y-.',label=r'$x*sin((x^2)+1)$')
legend(loc='lower left')
title('grafic 3')
xlabel('x',labelpad=-10)
ylabel('y')
13. Creati z-un numpy array de 5 linii si 7 coloane plin de 0. Folosind slicing z[start:stop:step:], scrieti
comenzile astfel incat z=array([[0 1 0 1 0 1 0]
[1 0 1 0 1 0 1]
[0 1 0 1 0 1 0]
[1 0 1 0 1 0 1]
[0 1 0 1 0 1 0]])
z=zeros((5,7),dtype=int)
z[::2,1::2]=1
z[1::2,::2]=1
print(z)
sauu:
a=array([[0,1],[1,0]])
c=tile(a,(4,4))
x=linspace(0,5,20)
subplot(2,2,2)
plot(x,x*sin(1/x),'r--',marker='s')
xlabel('x')
ylabel('y')
text(2.5,0.1,'grafic')
subplot(2,2,3)
plot(x,exp(-x)*cos(2*pi*x),marker='^')
import numpy
x=arange(40).reshape(5,8)
print(x)
print(x[::,5::])
x[1::2,1:7:2]=100
print(x)
16.
font={'family':'serif','color':'blue','size':16}
x=linspace(0.0,5.0,100)
y=cos(2*pi*x)*exp(-x)
plot(x,y,'k')
title('Exercitiu:primul grafic',fontdict=font)
text(2,0.65,r'$cos(2\pi t)\exp(-t)$',fontdict=font)
xlabel('time (s)',fontdict=font)
ylabel('voltage (mV)',fontdict=font)
subplots_adjust(left=0.15)
17. Creati x, un arrat de 5 linii si 6 coloane folosind functia random(). Folositi acest array x pt a crea un
DataFrame. Redenumiti coloanele cu nume de orase. Selectati si afisati coloanele 3 si 4. Setati fiecare
al doilea element din linia 4 la valoarea NaN si afisati. Stergeti ultima linie.
#x=random.randn(5,6)
x=arange(30).reshape(5,6)
orase=['Ohio','Utah','LA','NY','San Francisco','Miami']
d=DataFrame(x,columns=orase)
print(d)
print(d.loc['0':'4','NY'])
print(d.loc['0':'4','San Francisco'])
d.loc[4,::2]=4
print(d)
d.drop(d.tail(1).index,inplace=True)
print(d)
Grafic-exemple
s =sin(t)
s1=sin(t)**3
s2=sin(t)**2
fig, ax = subplots(figsize=(20,10))
ax.plot(t,s)
ax.set_xlim([0,8])
ax.set_ylim([-1,1])
plt.xticks([0,1,2,3,4,5,6,7])
plt.yticks([-1,-0.8,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.8,1])
ax.set_xlabel('t')
ax.set_ylabel('sin(t)')
ax2=fig.add_axes([0.2,0.2,0.15,0.15])
ax2.set_xlim([0,10])
ax2.set_ylim([-1,1])
ax2.set_xlabel('t')
ax2.set_ylabel(r'$(sin(t))^3$')
ax2.plot(t,s1)
ax3=fig.add_axes([0.5,0.6,0.15,0.15])
ax3.plot(t,s2)
ax3.set_xlim([0,10])
ax3.set_ylim([0,1])
plt.xticks([0,5,10])
ax3.set_xlabel('t')
ax3.set_ylabel(r'$(sin(t))^2$')
ax3.fill_between(t,s2,0,color='green')
plt.show()