à la carte Module 5: Graphique de base Eric ANTERRIEU Observatoire Midi-Pyrénées Laboratoire d Astrophysique de Toulouse-Tarbes CNRS UMR5572 Eric.Anterrieu@ast.obs-mip.fr à la carte Introduction Graphiques spécialisés Imprimer et exporter à la carte module 5: «Graphique de base 1 / 165 1
Introduction Le système graphique Il permet de visualiser des données 2D et 3D, mais aussi d afficher des images et des films à l aide commandes de haut-niveau. Il comprend aussi des commandes de bas-niveau pour modifier l apparence des graphiques. Il permet de construire et de gérer des interfaces graphiques (GUI), soit à l aide d un outil de hautniveau, soit à l aide de commandes de bas-niveau. Il permet enfin d imprimer et d exporter dans de nombreux formats. à la carte module 5: «Graphique de base 2 / 165 Introduction Le système graphique propose de nombreuses solutions pour représenter et visualiser des données. Le système graphique est construit autour d objets graphiques dont l apparence et le comportement sont contrôlés par la valeur de propriétés graphiques. à la carte module 5: «Graphique de base 3 / 165 2
Introduction Le système graphique dispose de fonctions de haut-niveau qui contrôlent automatiquement les caractéristiques des graphiques et produisent des solutions très acceptables (subjectivement!) sans manipuler des propriétés de bas-niveau. à la carte module 5: «Graphique de base 4 / 165 Introduction Le système graphique dispose aussi de fonctions de bas-niveau pour créer des objets graphiques et manipuler leurs propriétés. Ceci permet une infinité de combinaisons parmi lesquelles on trouvera (nécessairement) celle que l on cherche. Chaque objet graphique possède un identifiant unique (handle) qui lui est attribué à sa création et à travers lequel on accède à toutes ses propriétés. à la carte module 5: «Graphique de base 5 / 165 3
Introduction Les fenêtres graphiques envoie toutes les requêtes graphiques vers des fenêtres graphiques différentes de la fenêtre de commande de l environnement de travail. Les caractéristiques de ces fenêtres sont contrôlées par le système d exploitation, mais peut en modifier certaines. à la carte module 5: «Graphique de base 6 / 165 Introduction Les fenêtres graphiques Le résultat des requêtes graphiques est affiché dans la fenêtre graphique qui a le focus, appelé fenêtre graphique courante ou actuelle (gcf retourne l identifiant unique de cette fenêtre). Invoquer la fonctionfigure sans aucun argument ouvre une nouvelle fenêtre graphique, tandis que figure(n) donne le focus à la fenêtre n n ou crée la figure n n si elle n existe pas. à la carte module 5: «Graphique de base 7 / 165 4
Introduction Les fenêtres graphiques La commandeclose ferme la fenêtre graphique courante (celle qui a le focus), tandis queclose(n) ferme lan-ième fenêtre et queclose all les ferme toutes. La commandeclf efface le contenu de la fenêtre graphique courante. à la carte module 5: «Graphique de base 8 / 165 Introduction figure gcf figure(1); h=gcf h = 1 à la carte module 5: «Graphique de base 9 / 165 5
Introduction close figure(1); h=gcf h = 1 close(1); à la carte module 5: «Graphique de base 10 / 165 Introduction figure gcf To get started, type one of Figure these: No. 3 helpwin, helpdesk, or demo. figure(1); figure(2); figure(3); h=gcf h = 3 Figure No. 2 à la carte module 5: «Graphique de base 11 / 165 6
Introduction close figure(1); figure(2); figure(3); h=gcf h = 3 close all; à la carte module 5: «Graphique de base 12 / 165 propose une grande variété de fonctions pour afficher des graphiques 2D. La commandehelp graph2d est une première source d aide et d inspiration à la carte module 5: «Graphique de base 13 / 165 7
Graphiques élémentaires plot, errorbar - Tracé linéaire. polar loglog semilog* stairs, stem contour* - Tracé polaire. - Tracé log-log. - Tracé semi-log. - Tracé marches/tiges. - Courbes de niveau. à la carte module 5: «Graphique de base 14 / 165 Contrôle des axes hold - Gèle l état du graphique. box - Boite. grid - Grille. axis - Contrôle des axes. subplot - Création d axes. axes - Création d axes. à la carte module 5: «Graphique de base 15 / 165 8
Annotations legend - Légende. title - Titre du graphique. *label - Labels des axes. text, gtext - Texte d annotation. à la carte module 5: «Graphique de base 16 / 165 axes figure(1); axes; à la carte module 5: «Graphique de base 17 / 165 9
box figure(1); axes; box('on'); à la carte module 5: «Graphique de base 18 / 165 grid figure(1); axes box('on'); grid('on'); à la carte module 5: «Graphique de base 19 / 165 10
axis figure(1); axes; box('on'); grid('on'); axis([-pi pi -1.1 1.1]); à la carte module 5: «Graphique de base 20 / 165 label title figure(1); axes; box('on'); grid('on'); axis([-pi pi -1.1 1.1]); xlabel('x [rad]'); ylabel('y=sin(x)'); title('the sine function'); à la carte module 5: «Graphique de base 21 / 165 11
axes text (1,1) figure(1); axes('position',[0.05 0.05 0.4 0.9]); text(0.2,0.5,'[0.05 0.05 0.4 0.9]'); axes('position',[0.55 0.05 0.4 0.3]); text(0.2,0.5,'[0.55 0.05 0.4 0.3]'); axes('position',[0.45 0.45 0.5 0.5]); text(0.2,0.5,'[0.45 0.45 0.5 0.5]'); (0,0) à la carte module 5: «Graphique de base 22 / 165 subplot text figure(1); subplot(2,3,1); text(0.5,0.5,'1'); subplot(2,3,2); text(0.5,0.5,'2'); subplot(2,3,3); text(0.5,0.5,'3'); subplot(2,3,4); text(0.5,0.5,'4'); subplot(2,3,5); text(0.5,0.5,'5'); subplot(2,3,6); text(0.5,0.5,'6'); à la carte module 5: «Graphique de base 23 / 165 12
subplot text figure(1); subplot(2,3,[1 2]); text(0.5,0.5,'1/2'); subplot(2,3,[3 6]); text(0.5,0.5,'3/6'); subplot(2,3,4); text(0.5,0.5,'4'); subplot(2,3,5); text(0.5,0.5,'5'); à la carte module 5: «Graphique de base 24 / 165 plot x=0:0.1:2; y=sin(pi*x); figure(1); plot(x,y,'b*:'); à la carte module 5: «Graphique de base 25 / 165 13
plot x=0:0.1:2; y=sin(pi*x); figure(1); plot(x,y,'b*'); à la carte module 5: «Graphique de base 26 / 165 plot x=0:0.01:2; y=sin(pi*x); figure(1); plot(x,y,'b-'); à la carte module 5: «Graphique de base 27 / 165 14
scatter x=0:0.1:2; y=sin(pi*x); figure(1); scatter(x,y,'b'); à la carte module 5: «Graphique de base 28 / 165 scatter x=0:0.1:2; y=sin(pi*x); figure(1); scatter(x,y,'b*'); à la carte module 5: «Graphique de base 29 / 165 15
scatter x=0:0.1:2; y=sin(pi*x); s=round(5+5*abs(y)); figure(1); scatter(x,y,s,'b'); à la carte module 5: «Graphique de base 30 / 165 scatter x=0:0.1:2; y=sin(pi*x); s=round(5+5*abs(y)); c=y; figure(1); scatter(x,y,s,c); à la carte module 5: «Graphique de base 31 / 165 16
scatter x=0:0.1:2; y=sin(pi*x); s=round(5+5*abs(y)); c=y; figure(1); scatter(x,y,s,c,'filled'); à la carte module 5: «Graphique de base 32 / 165 errorbar x=0:0.1:2; y=0.93*sin(pi*x); e=0.12*rand(size(x)); figure(1); errorbar(x,y,e,'b*:'); à la carte module 5: «Graphique de base 33 / 165 17
errorbar x=0:0.1:2; y=0.93*sin(pi*x); e=0.12*rand(size(x)); figure(1); errorbar(x,y,e,'b*'); à la carte module 5: «Graphique de base 34 / 165 errorbar x=0:0.1:2; y=0.93*sin(pi*x); e=0.12*rand(size(x)); figure(1); errorbar(x,y,e,'b-'); à la carte module 5: «Graphique de base 35 / 165 18
stairs x=0:0.1:2; y=sin(pi*x); figure(1); stairs(x,y,'b*:'); à la carte module 5: «Graphique de base 36 / 165 stairs x=0:0.1:2; y=sin(pi*x); figure(1); stairs(x,y,'b*'); à la carte module 5: «Graphique de base 37 / 165 19
stairs x=0:0.1:2; y=sin(pi*x); figure(1); stairs(x,y,'b-'); à la carte module 5: «Graphique de base 38 / 165 stem x=0:0.1:2; y=sin(pi*x); figure(1); stem(x,y,'b*:'); à la carte module 5: «Graphique de base 39 / 165 20
stem x=0:0.1:2; y=sin(pi*x); figure(1); stem(x,y,'b*'); à la carte module 5: «Graphique de base 40 / 165 stem x=0:0.1:2; y=sin(pi*x); figure(1); stem(x,y,'b-'); à la carte module 5: «Graphique de base 41 / 165 21
bar x=0:0.1:2; y=sin(pi*x); figure(1); bar(x,y,'b'); à la carte module 5: «Graphique de base 42 / 165 semilogx x=10.^[-2:0.5:3]; y=log(x); figure(1); semilogx(x,y,'b*:'); à la carte module 5: «Graphique de base 43 / 165 22
semilogx x=10.^[-2:0.5:3]; y=log(x); figure(1); semilogx(x,y,'b*'); à la carte module 5: «Graphique de base 44 / 165 semilogx x=10.^[-2:0.5:3]; y=log(x); figure(1); semilogx(x,y,'b-'); à la carte module 5: «Graphique de base 45 / 165 23
semilogy x=0:1:10; y=exp(-x); figure(1); semilogy(x,y,'b*:'); à la carte module 5: «Graphique de base 46 / 165 semilogy x=0:1:10; y=exp(-x); figure(1); semilogy(x,y,'b*'); à la carte module 5: «Graphique de base 47 / 165 24
semilogy x=0:1:10; y=exp(-x); figure(1); semilogy(x,y,'b-'); à la carte module 5: «Graphique de base 48 / 165 loglog x=10.^[-4:0.2:0]; y=1./x; figure(1); loglog(x,y,'b*:'); à la carte module 5: «Graphique de base 49 / 165 25
loglog x=10.^[-4:0.2:0]; y=1./x; figure(1); loglog(x,y,'b*'); à la carte module 5: «Graphique de base 50 / 165 loglog x=10.^[-4:0.2:0]; y=1./x; figure(1); loglog(x,y,'b-'); à la carte module 5: «Graphique de base 51 / 165 26
polar t=[0:5:360]*pi/180; r=abs(cos(3*t)); figure(1); polar(t,r,'b*:'); à la carte module 5: «Graphique de base 52 / 165 polar t=[0:5:360]*pi/180; r=abs(cos(3*t)); figure(1); polar(t,r,'b*'); à la carte module 5: «Graphique de base 53 / 165 27
polar t=[0:1:360]*pi/180; r=abs(cos(3*t)); figure(1); polar(t,r,'b-'); à la carte module 5: «Graphique de base 54 / 165 hold t=0:0.01:2; F=0.5; y=sin(2*pi*f*t); F=1.5; z=sin(2*pi*f*t); figure(1); plot(t,y,'b-'); hold('on'); plot(t,z,'r-'); grid('on'); xlabel('t [sec]'); ylabel('sin(2\pift) '); title('sine waves'); à la carte module 5: «Graphique de base 55 / 165 28
hold t=0:0.01:2; F=0.5; y=sin(2*pi*f*t); F=1.5; z=sin(2*pi*f*t); figure(1); plot(t,y,'b-',t,z,'r-'); grid('on'); xlabel('t [sec]'); ylabel('sin(2\pift)'); title('sine waves'); à la carte module 5: «Graphique de base 56 / 165 legend t=0:0.01:2; F=0.5; y=sin(2*pi*f*t); F=1.5; z=sin(2*pi*f*t); figure(1); plot(t,y,'b-',t,z,'r-'); grid('on'); xlabel('t [sec]'); ylabel('sin(2\pift)'); title('sine waves'); legend('f=0.5 Hz','F=1.5 Hz'); à la carte module 5: «Graphique de base 57 / 165 29
contour [x,y,z]=peaks(50); figure(1); hold('on'); c=1:9; contour(x,y,z,-c,'r-'); contour(x,y,z,[0 0],'g-'); contour(x,y,z, c,'b-'); grid('on'); box('on'); xlabel('x'); ylabel('y'); axis('square'); à la carte module 5: «Graphique de base 58 / 165 contour clabel [x,y,z]=peaks(50); figure(1); hold('on'); c=1:9; [C,H]=contour(x,y,z,-c,'r-'); clabel(c,h); clear C H; contour(x,y,z,[0 0],'g-'); [C,H]=contour(x,y,z, c,'b-'); clabel(c,h); clear C H; grid('on'); box('on'); xlabel('x'); ylabel('y'); axis('square'); à la carte module 5: «Graphique de base 59 / 165 30
contourf [x,y,z]=peaks(50); figure(1); hold('on'); c=1:9; contourf(x,y,z,-c,'r-'); contour(x,y,z,[0 0],'g-'); contourf(x,y,z, c,'b-'); grid('on'); box('on'); xlabel('x'); ylabel('y'); axis('square'); à la carte module 5: «Graphique de base 60 / 165 contour [t,r]=meshgrid((0:5:360)*pi/180,0:0.01:3); [x,y]=pol2cart(t,r); z=peaks(x,y); figure(1); h=polar([0 2*pi],[0 3]); delete(h); hold('on'); c=1:9; contour(x,y,z,-c,'r-'); contour(x,y,z,[0 0],'g-'); contour(x,y,z, c,'b-'); à la carte module 5: «Graphique de base 61 / 165 31
contour clabel [t,r]=meshgrid((0:5:360)*pi/180,0:0.01:3); [x,y]=pol2cart(t,r); z=peaks(x,y); figure(1); h=polar([0 2*pi],[0 3]); delete(h); hold('on'); c=1:9; [C,H]=contour(x,y,z,-c,'r-'); clabel(c,h); clear C H; contour(x,y,z,[0 0],'g-'); [C,H]=contour(x,y,z, c,'b-'); clabel(c,h); clear C H; à la carte module 5: «Graphique de base 62 / 165 propose une grande variété de fonctions pour afficher des graphiques 3D. La commandehelp graph3d est une première source d aide et d inspiration à la carte module 5: «Graphique de base 63 / 165 32
Graphiques élémentaires plot3 - Tracé linéaire. contour3 - Courbes de niveau. mesh* - Surface en grillage surf* - Surface pleine. slice - Coupe dans volume. à la carte module 5: «Graphique de base 64 / 165 Contrôle du point de vue view - Point de vue. viewmtx - Matrice de transformation. z y viewpoint O elevation azimuth x y z O x view(3) azimuth=-37.5 elevation=30 y O x view(2) azimuth=0 elevation=90 à la carte module 5: «Graphique de base 65 / 165 33
Contrôle de la couleur colormap - Table de couleurs. caxis shading hidden - Axe des couleurs. - Mode de remplissage. - Gestion des parties cachées. brighten - Modification des couleurs. à la carte module 5: «Graphique de base 66 / 165 Contrôle de la lumière light - Ajout d une source de lumière. lighting - Contrôle de la lumière. material - Propriété de réflexion. specular - Réflexion spéculaire. diffuse - Réflexion diffuse. à la carte module 5: «Graphique de base 67 / 165 34
Contrôle des axes hold - Gèle l état du graphique. box - Boite. grid - Grille. axis - Contrôle des axes. subplot - Création d axes. axes - Création d axes. à la carte module 5: «Graphique de base 68 / 165 Annotations legend - Légende. title - Titre du graphique. *label - Labels des axes. text, gtext - Texte d annotation. à la carte module 5: «Graphique de base 69 / 165 35
axes figure(1); axes; view(3); à la carte module 5: «Graphique de base 70 / 165 box figure(1); axes; view(3); box('on'); à la carte module 5: «Graphique de base 71 / 165 36
grid figure(1); axes; view(3); box('on'); grid('on'); à la carte module 5: «Graphique de base 72 / 165 axis figure(1); axes; view(3); box('on'); grid('on'); axis([0 0.1-2 2 -pi pi]); à la carte module 5: «Graphique de base 73 / 165 37
label title figure(1); axes; view(3); box('on'); grid('on'); axis([0 0.1-2 2 -pi pi]); xlabel('x'); ylabel('y'); zlabel('z'); title('3d graph'); à la carte module 5: «Graphique de base 74 / 165 view figure(1); axes; view(3); box('on'); grid('on'); axis('square'); à la carte module 5: «Graphique de base 75 / 165 38
view figure(1); axes; view(-37,30); box('on'); grid('on'); axis('square'); az=linspace(-37,-20,18); el=linspace( 30, 47,18); for k=1:18, view(az(k),el(k)); drawnow; pause(0.2); end à la carte module 5: «Graphique de base 76 / 165 plot3 t=(-1000:40:1000)/180; x=t.*sin(pi*t); y=t.*cos(pi*t); figure(1); plot3(x,y,t,'b*:'); à la carte module 5: «Graphique de base 77 / 165 39
plot3 t=(-1000:40:1000)/180; x=t.*sin(pi*t); y=t.*cos(pi*t); figure(1); plot3(x,y,t,'b*'); à la carte module 5: «Graphique de base 78 / 165 plot3 t=(-1000:4:1000)/180; x=t.*sin(pi*t); y=t.*cos(pi*t); figure(1); plot3(x,y,t,'b-'); à la carte module 5: «Graphique de base 79 / 165 40
stem3 t = 0:0.1:10; s = 0.1+i; z = exp(-s*t); x = real(z); y = imag(z); figure(1); stem3(x,y,t,'b*:'); à la carte module 5: «Graphique de base 80 / 165 stem3 t = 0:0.1:10; s = 0.1+i; z = exp(-s*t); x = real(z); y = imag(z); figure(1); stem3(x,y,t,'b*'); à la carte module 5: «Graphique de base 81 / 165 41
stem3 t = 0:0.1:10; s = 0.1+i; z = exp(-s*t); x = real(z); y = imag(z); figure(1); stem3(x,y,t,'b-'); à la carte module 5: «Graphique de base 82 / 165 contour3 [x,y,z]=peaks(50); figure(1); c=1:9; contour3(x,y,z,-c,'r-'); hold('on'); contour3(x,y,z,[0 0],'g-'); contour3(x,y,z, c,'b-'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 83 / 165 42
contour3 clabel [x,y,z]=peaks(50); figure(1); c=1:9; [C,H]=contour3(x,y,z,-c,'r-'); clabel(c,h); clear C H; hold('on'); contour3(x,y,z,[0 0],'g-'); [C,H]=contour3(x,y,z, c,'b-'); clabel(c,h); clear C H; grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 84 / 165 mesh hidden [x,y,z]=peaks(50); figure(1); mesh(x,y,z); hidden('off'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 85 / 165 43
mesh hidden [x,y,z]=peaks(50); figure(1); mesh(x,y,z); hidden('on'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 86 / 165 mesh [x,y,z]=peaks(50); figure(1); mesh(x,y,z,del2(z)); hidden('on'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 87 / 165 44
meshz [x,y,z]=peaks(50); figure(1); meshz(x,y,z); hidden('on'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 88 / 165 meshc [x,y,z]=peaks(50); figure(1); meshc(x,y,z); hidden('on'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 89 / 165 45
trimesh hidden rand('state',0); x=6*rand(1,500)-3; y=6*rand(1,500)-3; z=peaks(x,y); triangles=delaunay(x,y); figure(1); trimesh(triangles,x,y,z); hidden('off'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 90 / 165 trimesh hidden rand('state',0); x=6*rand(1,500)-3; y=6*rand(1,500)-3; z=peaks(x,y); triangles=delaunay(x,y); figure(1); trimesh(triangles,x,y,z); hidden('on'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 91 / 165 46
surf shading [x,y,z]=peaks(50); figure(1); surf(x,y,z); shading('faceted'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 92 / 165 surf shading [x,y,z]=peaks(50); figure(1); surf(x,y,z); shading('flat'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 93 / 165 47
surf shading [x,y,z]=peaks(50); figure(1); surf(x,y,z); shading('interp'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 94 / 165 surf [x,y,z]=peaks(50); figure(1); surf(x,y,z,del2(z)); shading('interp'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 95 / 165 48
surfc [x,y,z]=peaks(50); figure(1); surfc(x,y,z); shading('interp'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 96 / 165 trisurf shading rand('state',0); x=6*rand(1,500)-3; y=6*rand(1,500)-3; z=peaks(x,y); triangles=delaunay(x,y); figure(1); trisurf(triangles,x,y,z); shading('faceted'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 97 / 165 49
trisurf shading rand('state',0); x=6*rand(1,500)-3; y=6*rand(1,500)-3; z=peaks(x,y); triangles=delaunay(x,y); figure(1); trisurf(triangles,x,y,z); shading('flat'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 98 / 165 trisurf shading rand('state',0); x=6*rand(1,500)-3; y=6*rand(1,500)-3; z=peaks(x,y); triangles=delaunay(x,y); figure(1); trisurf(triangles,x,y,z); shading('interp'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 99 / 165 50
surfl [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'cdata'); shading('interp'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 100 / 165 surfl lighting [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'light'); shading('interp'); lighting('none'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 101 / 165 51
surfl lighting [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'light'); shading('interp'); lighting('flat'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 102 / 165 surfl lighting [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'light'); shading('interp'); lighting('gouraud'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 103 / 165 52
surfl lighting [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'light'); shading('interp'); lighting('phong'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 104 / 165 surfl material [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'light'); shading('interp'); lighting('phong'); material('dull'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 105 / 165 53
surfl material [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'light'); shading('interp'); lighting('phong'); material('metal'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 106 / 165 surfl material [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'light'); shading('interp'); lighting('phong'); material('shiny'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 107 / 165 54
surfl material [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'light'); shading('interp'); lighting('phong'); material('default'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 108 / 165 surfl colormap [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'cdata'); shading('interp'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 109 / 165 55
surfl light [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'cdata'); shading('interp'); lighting('phong'); material('default'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); light('color','r', 'Position',[-2-2 2]); à la carte module 5: «Graphique de base 110 / 165 surfl light [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'cdata'); shading('interp'); lighting('phong'); material('default'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); light('color','r', 'Position',[-2-2 2]); light('color','g', 'Position',[ 3-3 1]); à la carte module 5: «Graphique de base 111 / 165 56
surfl light [x,y,z]=peaks(50); figure(1); colormap(gray); surfl(x,y,z,'cdata'); shading('interp'); lighting('phong'); material('default'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); light('color','r', 'Position',[-2-2 2]); light('color','g', 'Position',[ 3-3 1]); light('color','b', 'Position',[-3 3 5]); à la carte module 5: «Graphique de base 112 / 165 surfl colormap [x,y,z]=peaks(50); figure(1); surfl(x,y,z,'cdata'); shading('interp'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); colormap([0.1 0.1 0.1]); à la carte module 5: «Graphique de base 113 / 165 57
surfl light [x,y,z]=peaks(50); figure(1); surfl(x,y,z,'cdata'); shading('interp'); lighting('phong'); material('default'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); colormap([0.1 0.1 0.1]); light('color','r', 'Position',[-2-2 2]); light('color','g', 'Position',[ 3-3 1]); light('color','b', 'Position',[-3 3 5]); à la carte module 5: «Graphique de base 114 / 165 surfl colormap [x,y,z]=peaks(50); figure(1); surfl(x,y,z,'cdata'); shading('interp'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); colormap([0.9 0.9 0.9]); à la carte module 5: «Graphique de base 115 / 165 58
surfl light [x,y,z]=peaks(50); figure(1); surfl(x,y,z,'cdata'); shading('interp'); lighting('phong'); material('default'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); colormap([0.9 0.9 0.9]); light('color','r', 'Position',[-2-2 2]); light('color','g', 'Position',[ 3-3 1]); light('color','b', 'Position',[-3 3 5]); à la carte module 5: «Graphique de base 116 / 165 slice [x,y,z,v]=flow(25); sx=[2 6 10]; sy=3; sz=[-3 0]; figure(1); view(-37,30); slice(x,y,z,v,sx,sy,sz); shading('faceted'); grid('off'); box('off'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 117 / 165 59
slice [x,y,z,v]=flow(25); sx=[2 6 10]; sy=3; sz=[-3 0]; figure(1); view(-37,30); slice(x,y,z,v,sx,sy,sz); shading('flat'); grid('off'); box('off'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 118 / 165 slice [x,y,z,v]=flow(25); sx=[2 6 10]; sy=3; sz=[-3 0]; figure(1); view(-37,30); slice(x,y,z,v,sx,sy,sz); shading('interp'); grid('off'); box('off'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 119 / 165 60
contourslice [x,y,z,v]=flow(25); sx=[2 10]; sy=0; sz=0; figure(1); view(-37,30); contourslice(x,y,z,v, sx,sy,sz,-12:0.5:2.5); grid('off'); box('off'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 120 / 165 isosurface [x,y,z,v]=flow(25); figure(1); view(-37,30); isosurface(x,y,z,v,-2); grid('off'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 121 / 165 61
isosurface [x,y,z,v]=flow(25); figure(1); view(-37,30); isosurface(x,y,z,v,-2); light('color',[1.0 1.0 1.0], 'Position',[-50 0 20]); lighting('phong'); material('default'); grid('off'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 122 / 165 isosurface [x,y,z,v]=flow(25); figure(1); view(-37,30); isosurface(x,y,z,v,-2); isosurface(x,y,z,v,-4); light('color',[1.0 1.0 1.0], 'Position',[-50 0 20]); light('color',[1.0 1.0 1.0], 'Position',[ 50-50 50]); lighting('phong'); material('default'); grid('off'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 123 / 165 62
Matlab à la carte 04/09/2008 Graphiques 3D isosurface [x,y,z,v]=flow(25); [x,y,z,v]=subvolume(x,y,z,v,[nan NaN -1.8 NaN NaN NaN]); figure(1); view(-37,30); isosurface(x,y,z,v,-2); isosurface(x,y,z,v,-4); light('color',[1.0 1.0 1.0], 'Position',[-50 0 20]); light('color',[0.5 0.5 0.5], 'Position',[ 50-50 50]); lighting('phong'); material('default'); grid('off'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base Graphiques 3D 124 / 165 isocaps [x,y,z,v]=flow(25); [x,y,z,v]=subvolume(x,y,z,v,[nan NaN -1.8 NaN NaN NaN]); figure(1); view(-37,30); isosurface(x,y,z,v,-2); isocaps(x,y,z,v,-2,'bellow'); light('color',[1.0 1.0 1.0], 'Position',[-50 0 20]); light('color',[1.0 1.0 1.0], 'Position',[ 50-50 50]); lighting('phong'); material('default'); grid('off'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 125 / 165 63
Matlab à la carte 04/09/2008 Graphiques 3D isocaps [x,y,z,v]=flow(25); [x,y,z,v]=subvolume(x,y,z,v,[nan NaN -1.8 NaN NaN NaN]); figure(1); view(37,30); isosurface(x,y,z,v,-2); isocaps(x,y,z,v,-2,'bellow'); light('color',[1.0 1.0 1.0], 'Position',[-50 0 20]); light('color',[1.0 1.0 1.0], 'Position',[ 50-50 50]); lighting('phong'); material('default'); grid('off'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base Graphiques 3D 126 / 165 isocaps [x,y,z,v]=flow(25); [x,y,z,v]=subvolume(x,y,z,v,[nan NaN -1.8 NaN NaN NaN]); figure(1); view(37,30); isosurface(x,y,z,v,-2); isocaps(x,y,z,v,-2,'above'); light('color',[1.0 1.0 1.0], 'Position',[-50 0 20]); light('color',[1.0 1.0 1.0], 'Position',[ 50-50 50]); lighting('phong'); material('default'); grid('off'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 127 / 165 64
Matlab à la carte 04/09/2008 Graphiques 3D isocaps [x,y,z,v]=flow(25); [x,y,z,v]=subvolume(x,y,z,v,[nan NaN -1.8 NaN NaN NaN]); figure(1); view(37,30); isocaps(x,y,z,v,-2,'bellow'); isocaps(x,y,z,v,-2,'above'); light('color',[1.0 1.0 1.0], 'Position',[-50 0 20]); light('color',[1.0 1.0 1.0], 'Position',[ 50-50 50]); lighting('phong'); material('default'); grid('off'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('equal'); à la carte module 5: «Graphique de base 128 / 165 Graphiques spécialisés propose une grande variété de fonctions pour afficher des graphiques 2D & 3D. La commande help specgraph est une première source d aide et d inspiration à la carte module 5: «Graphique de base 129 / 165 65
Matlab à la carte 04/09/2008 Graphiques spécialisés Graphiques élémentaires hist - Histogramme. area - Tracés empilés. pie, pie3 - Diagramme en camenbert. bar*, bar3* - Diagramme en barres. feather, compass - Tracé de vecteurs. quiver, quiver3 - Tracé de vecteurs. à la carte module 5: «Graphique de base Graphiques spécialisés 130 / 165 hist y=randn(10000,1); figure(1); hist(y); à la carte module 5: «Graphique de base 131 / 165 66
Matlab à la carte 04/09/2008 Graphiques spécialisés hist y=randn(10000,1); figure(1); hist(y,36); à la carte module 5: «Graphique de base Graphiques spécialisés 132 / 165 area rand('state',0); t = 15+10*rand(21,3); y = 1970:1990; area(y,t); xlabel('year'); ylabel('profit (M$)'); legend('bob','cindy','peter',2); à la carte module 5: «Graphique de base 133 / 165 67
Matlab à la carte 04/09/2008 Graphiques spécialisés area rand('state',0); t = 15+10*rand(21,3); y = 1970:1990; area(y,t,10); xlabel('year'); ylabel('profit (M$)'); legend('bob','cindy','peter',2); à la carte module 5: «Graphique de base Graphiques spécialisés 134 / 165 pie rand('state',0); t = rand(1,5); figure(1); pie(t); à la carte module 5: «Graphique de base 135 / 165 68
Matlab à la carte 04/09/2008 Graphiques spécialisés pie rand('state',0); t = rand(1,5); figure(1); pie(t,[1 0 0 1 0]); à la carte module 5: «Graphique de base Graphiques spécialisés 136 / 165 pie rand('state',0); t = rand(1,6); t = t/sum(t); t(6) = []; figure(1); pie(t); à la carte module 5: «Graphique de base 137 / 165 69
Matlab à la carte 04/09/2008 Graphiques spécialisés pie rand('state',0); t = rand(1,6); t = t/sum(t); t(6) = []; figure(1); pie(t,[1 0 0 1 0]); à la carte module 5: «Graphique de base Graphiques spécialisés 138 / 165 pie3 rand('state',0); t = rand(1,5); figure(1); pie3(t); à la carte module 5: «Graphique de base 139 / 165 70
Matlab à la carte 04/09/2008 Graphiques spécialisés pie3 rand('state',0); t = rand(1,5); figure(1); pie3(t,[1 0 0 1 0]); à la carte module 5: «Graphique de base Graphiques spécialisés 140 / 165 pie3 rand('state',0); t = rand(1,6); t = t/sum(t); t(6) = []; figure(1); pie3(t); à la carte module 5: «Graphique de base 141 / 165 71
Matlab à la carte 04/09/2008 Graphiques spécialisés pie3 rand('state',0); t = rand(1,6); t = t/sum(t); t(6) = []; figure(1); pie3(t,[1 0 0 1 0]); à la carte module 5: «Graphique de base Graphiques spécialisés 142 / 165 bar rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); bar(y,t,0.8,'grouped'); xlabel('year'); ylabel('profit (M$)'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base 143 / 165 72
Matlab à la carte 04/09/2008 Graphiques spécialisés bar rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); bar(y,t,1.0,'grouped'); xlabel('year'); ylabel('profit (M$)'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base Graphiques spécialisés 144 / 165 bar rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); bar(y,t,0.8,'stacked'); xlabel('year'); ylabel('profit (M$)'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base 145 / 165 73
Matlab à la carte 04/09/2008 Graphiques spécialisés bar rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); bar(y,t,1.0,'stacked'); xlabel('year'); ylabel('profit (M$)'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base Graphiques spécialisés 146 / 165 barh rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); barh(y,t,0.8,'grouped'); xlabel('profit (M$)'); ylabel('year'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base 147 / 165 74
Matlab à la carte 04/09/2008 Graphiques spécialisés barh rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); barh(y,t,1.0,'grouped'); xlabel('profit (M$)'); ylabel('year'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base Graphiques spécialisés 148 / 165 barh rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); barh(y,t,0.8,'stacked'); xlabel('profit (M$)'); ylabel('year'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base 149 / 165 75
Matlab à la carte 04/09/2008 Graphiques spécialisés barh rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); barh(y,t,1.0,'stacked'); xlabel('profit (M$)'); ylabel('year'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base Graphiques spécialisés 150 / 165 bar3 rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); bar3(y,t,0.8,'detached'); ylabel('year'); zlabel('profit (M$)'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base 151 / 165 76
Matlab à la carte 04/09/2008 Graphiques spécialisés bar3 rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); bar3(y,t,0.8,'grouped'); ylabel('year'); zlabel('profit (M$)'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base Graphiques spécialisés 152 / 165 bar3 rand('state',0); t = 40*rand(5,3); y = 1970:5:1990; figure(1); bar3(y,t,0.8,'stacked'); ylabel('year'); zlabel('profit (M$)'); legend('bob','cindy','peter'); à la carte module 5: «Graphique de base 153 / 165 77
Matlab à la carte 04/09/2008 Graphiques spécialisés feather t = (-90:10:90)*pi/180; r = 2*ones(size(t)); [x,y] = pol2cart(t,r); figure(1); feather(x,y,'b'); à la carte module 5: «Graphique de base Graphiques spécialisés 154 / 165 compass t = rand(1,10)*2*pi; r = rand(1,10)*5; [x,y] = pol2cart(t,r); figure(1); compass(x,y,'b'); à la carte module 5: «Graphique de base 155 / 165 78
Matlab à la carte 04/09/2008 Graphiques spécialisés quiver [x,y,z]=peaks(-3:0.1:3); [gx,gy]=gradient(z,0.1,0.1); figure(1); hold('on'); c=1:9; contour(x,y,z,-c,'r-'); contour(x,y,z,[0 0],'g-'); contour(x,y,z, c,'b-'); t=1:3:61; quiver(x(t,t), y(t,t), gx(t,t),gy(t,t),'m'); grid('on'); box('on'); xlabel('x'); ylabel('y'); axis('square'); à la carte module 5: «Graphique de base Graphiques spécialisés 156 / 165 quiver3 [x,y,z]=peaks(-3:0.1:3); [sx,sy,sz]=surfnorm(x,y,z); figure(1); hold('on'); surf(x,y,z); shading('interp'); t=1:3:61; quiver3(x(t,t), y(t,t), z(t,t) sx(t,t),sy(t,t),sz(t,t),'m'); grid('on'); box('on'); xlabel('x'); ylabel('y'); zlabel('z'); axis('square'); à la carte module 5: «Graphique de base 157 / 165 79
Matlab à la carte 04/09/2008 Imprimer et exporter Impression La fonction printdlg ouvre une boîte de dialogue à partir de laquelle le contenu de la fenêtre graphique dont l identifiant est fig peut être imprimé: >> printdlg(fig); Une option peut forcer l utilisation d une boite de dialogue standard indépendante du système d exploitation: >> printdlg('-crossplatform',fig); à la carte module 5: «Graphique de base 158 / 165 Imprimer et exporter Impression La commande print permet d imprimer le contenu de la fenêtre graphique dont l identifiant est fig : >> print -ffig L impression peut se faire directement sur une imprimante, mais elle peut être redirigée vers un fichier avec une grande variété de formats: >> print -ffig filename >> print -ffig -ddevice filename à la carte module 5: «Graphique de base 159 / 165 80
Matlab à la carte 04/09/2008 Imprimer et exporter Impression La version fonction de la commande print est aussi très pratique: >> print(fig); >> print(fig,'filename'); >> print(fig, -ddevice','filename'); à la carte module 5: «Graphique de base 160 / 165 Imprimer et exporter Le cas POSTSCRIPT supporte 8 types de POSTSCRIPT: -dps POSTSCRIPT for B & W printers -dpsc POSTSCRIPT for color printers -dps2 Level 2 POSTSCRIPT for B & W printers -dpsc2 Level 2 POSTSCRIPT for color printers -deps Encapsulated POSTSCRIPT -depsc Encapsulated Color POSTSCRIPT -deps2 Encapsulated Level 2 POSTSCRIPT -depsc2 Encapsulated Level 2 Color POSTSCRIPT à la carte module 5: «Graphique de base 161 / 165 81
Matlab à la carte 04/09/2008 Imprimer et exporter Le cas des formats images Certains formats images sont aussi supportés: -djpeg fichier image JPEG -dtiff fichier image TIFF D autres formats sont supportés sur certains systèmes d exploitation (WINDOWS par exemple) ou grâce au pré-processeur de GHOSTSCRIPT. à la carte module 5: «Graphique de base 162 / 165 Imprimer et exporter Le cas de WINDOWS D autres formats encore sont disponibles uniquement sous WINDOWS : -dwin Envoie à l imprimante en N&B -dwinc Envoie à l imprimante en couleurs -dmeta Envoie au presse-papier en metafile -dbitmap Envoie au presse-papier en bitmap -dsetup Ouvre la boite de dialogue impression ou sur les système MACINTOSH : -dpict fichier image PICT à la carte module 5: «Graphique de base 163 / 165 82
Matlab à la carte 04/09/2008 Imprimer et exporter Configurer l impression La commande print envoie le contenu de la fenêtre graphique, y compris les accessoires de contrôles (boutons, ), sauf si l option -noui est utilisée, en utilisant la commande d impression retounée par la fonction printopt : >> [pcmd,dev]=printopt; Le fichier printopt.m est un fichier qui peut être édité et modifié pour indiquer, par exemple, l imprimante par défaut. à la carte module 5: «Graphique de base 164 / 165 Imprimer et exporter Configurer l impression >> [pcmd,dev]=printopt; pcmd contient la commande d impression que print utilisera pour envoyer un fichier à l imprimante, dev contient le nom du périphérique par défaut. Leur valeurs dépendent de la plate-forme: Unix lpr -s -r -dps2 VMS PRINT/DELETE -dps2 Windows copy /B LPT1: -dwin Macintosh macprint -dps2 à la carte module 5: «Graphique de base 165 / 165 83