#!/usr/bin/env python # coding: utf-8 # Matplotlib -- osy a mřížka # ============================= # # Vytvořím si nějaká data # In[1]: f=2 t=linspace(0,2,100) u=3.14*sin(2*pi*f*t) # Úprava os grafu # ----------------- # In[2]: figure(figsize=(10,4)) plot(t,u) xlim((-1,3)) minorticks_on() tick_params(which='both', width=2) tick_params(which='major', length=7, labelsize='small') tick_params(axis='x', which='minor', length=4, color='r', pad=1) xticks(arange(-1,3,0.25), rotation=45, fontsize=12) grid(True) # In[3]: figure(figsize=(10,7)) plot(t,u) sp=subplot(111) sp.xaxis.set_ticks(linspace(0,2,5) ) sp.xaxis.set_ticks(linspace(0,2,13),minor=True) #minorticks_on() # tohle tam být nesmí, jinak minor tick nefunguje grid(True, linewidth=2, linestyle='--', which='major') grid(True, linewidth=0.5, linestyle=':', which='minor') sp.yaxis.grid(False,'minor') # Logaritmická osa # ---------------------- # In[2]: plot([23, 456, 676, 89, 906, 34, 2345]) yscale('log') grid(b=True, which='major', color='b', linestyle='-') grid(b=True, which='minor', color='r', linestyle='--') # Výce grafů v jednom obrázku # -------------------------------- # # * # * # * # In[25]: fig=figure() ax1=subplot(221) title('abc') grid() hist(rand(1000),50) ax2=subplot(222) title('abc') grid() ax3=subplot(223) title('abc') grid() # zvětším prostor mezi grafy tight_layout() # pokud chci mít větší kontrolu použiji # subplots_adjust(bottom=-1, right=0.8, top=0.9) # In[17]: ax=subplot(111) X = np.linspace(-np.pi, np.pi, 256,endpoint=True) C,S = np.cos(X), np.sin(X) plot(X, C, color="blue", linewidth=2.5, linestyle="-",label='cosinus') plot(X, S, color="red", linewidth=2.5, linestyle="-", label='sinus') #ax = gca() ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0)) ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0)) xlim(X.min()*1.1, X.max()*1.1) xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$']) ylim(C.min()*1.1,C.max()*1.1) yticks([-1, 0, +1], [r'$-1$', r'$0$', r'$+1$']) # savefig("../figures/exercice_7.png",dpi=72) #show() grid() legend(loc='upper left') # In[18]: subplot(111) X = np.linspace(-np.pi, np.pi, 256,endpoint=True) C,S = np.cos(X), np.sin(X) plot(X, C, color="blue", linewidth=2.5, linestyle="-", label="cosine") plot(X, S, color="red", linewidth=2.5, linestyle="-", label="sine") ax = gca() ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0)) ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0)) xlim(X.min()*1.1, X.max()*1.1) xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$']) ylim(C.min()*1.1,C.max()*1.1) yticks([-1, +1], [r'$-1$', r'$+1$']) legend(loc='upper left') t = 2*np.pi/3 plot([t,t],[0,np.cos(t)], color ='blue', linewidth=1.5, linestyle="--") scatter([t,],[np.cos(t),], 50, color ='blue') annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$', xy=(t, np.sin(t)), xycoords='data', xytext=(+10, +30), textcoords='offset points', fontsize=16, arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) plot([t,t],[0,np.sin(t)], color ='red', linewidth=1.5, linestyle="--") scatter([t,],[np.sin(t),], 50, color ='red') annotate(r'$\cos(\frac{2\pi}{3})=-\frac{1}{2}$', xy=(t, np.cos(t)), xycoords='data', xytext=(-90, -50), textcoords='offset points', fontsize=16, arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) for label in ax.get_xticklabels() + ax.get_yticklabels(): label.set_fontsize(16) label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.65 )) # savefig("../figures/exercice_10.png",dpi=72) #show()