En aquest tema, explorarem tècniques avançades per a la creació de gràfics en MATLAB. Aquestes tècniques us permetran crear visualitzacions més complexes i personalitzades, millorant la capacitat de comunicar dades de manera efectiva.

Contingut

Gràfics amb Subplots

Els subplots permeten crear múltiples gràfics en una sola figura, organitzats en una matriu de subgràfics.

Exemple

% Crear una figura amb 4 subplots (2x2)
figure;

% Primer subplot
subplot(2, 2, 1);
x = linspace(0, 2*pi, 100);
y1 = sin(x);
plot(x, y1);
title('Sine Wave');

% Segon subplot
subplot(2, 2, 2);
y2 = cos(x);
plot(x, y2);
title('Cosine Wave');

% Tercer subplot
subplot(2, 2, 3);
y3 = tan(x);
plot(x, y3);
title('Tangent Wave');

% Quart subplot
subplot(2, 2, 4);
y4 = x.^2;
plot(x, y4);
title('Quadratic Function');

Explicació

  • figure: Crea una nova finestra de figura.
  • subplot(m, n, p): Divideix la figura en una matriu de subgràfics de m files i n columnes, i selecciona el p-èssim subgràfic per a dibuixar-hi.

Gràfics amb Eixos Múltiples

Els gràfics amb eixos múltiples permeten superposar diversos gràfics amb diferents escales d'eixos en una sola figura.

Exemple

x = linspace(0, 10, 100);
y1 = sin(x);
y2 = exp(x/10);

figure;
yyaxis left;
plot(x, y1);
ylabel('Sine Wave');

yyaxis right;
plot(x, y2);
ylabel('Exponential Function');
title('Gràfic amb Eixos Múltiples');
xlabel('X-axis');

Explicació

  • yyaxis left: Activa els eixos de l'esquerra.
  • yyaxis right: Activa els eixos de la dreta.

Gràfics Interactius

MATLAB permet crear gràfics interactius que responen a les accions de l'usuari, com ara clics i moviments del ratolí.

Exemple

x = linspace(0, 2*pi, 100);
y = sin(x);

figure;
plot(x, y);
title('Gràfic Interactiu');
xlabel('X-axis');
ylabel('Sine Wave');

% Afegir interactivitat
dcm = datacursormode;
datacursormode on;
set(dcm, 'UpdateFcn', @myupdatefcn);

function txt = myupdatefcn(~, event_obj)
    pos = get(event_obj, 'Position');
    txt = {['X: ', num2str(pos(1))], ['Y: ', num2str(pos(2))]};
end

Explicació

  • datacursormode on: Activa el mode de cursor de dades.
  • set(dcm, 'UpdateFcn', @myupdatefcn): Defineix una funció de retorn de trucada per actualitzar la informació del cursor de dades.

Animacions

Les animacions permeten visualitzar dades que canvien amb el temps.

Exemple

x = linspace(0, 2*pi, 100);
y = sin(x);

figure;
h = plot(x, y);
title('Animació de Sine Wave');
xlabel('X-axis');
ylabel('Sine Wave');

for k = 1:100
    y = sin(x + 2*pi*k/100);
    set(h, 'YData', y);
    pause(0.1);
end

Explicació

  • set(h, 'YData', y): Actualitza les dades de l'eix Y del gràfic.
  • pause(0.1): Pausa l'execució durant 0.1 segons per crear l'efecte d'animació.

Exportació de Gràfics

MATLAB permet exportar gràfics a diversos formats d'imatge i fitxers.

Exemple

x = linspace(0, 2*pi, 100);
y = sin(x);

figure;
plot(x, y);
title('Gràfic per Exportar');
xlabel('X-axis');
ylabel('Sine Wave');

% Exportar a PNG
saveas(gcf, 'sine_wave.png');

% Exportar a PDF
saveas(gcf, 'sine_wave.pdf');

Explicació

  • saveas(gcf, 'filename.ext'): Guarda la figura actual en el format especificat per l'extensió del fitxer.

Exercicis Pràctics

Exercici 1: Crear una Figura amb Subplots

Crea una figura amb 4 subplots (2x2) que mostrin les següents funcions:

  1. y = sin(x)
  2. y = cos(x)
  3. y = tan(x)
  4. y = x^3

Solució

x = linspace(0, 2*pi, 100);

figure;

subplot(2, 2, 1);
plot(x, sin(x));
title('Sine Wave');

subplot(2, 2, 2);
plot(x, cos(x));
title('Cosine Wave');

subplot(2, 2, 3);
plot(x, tan(x));
title('Tangent Wave');

subplot(2, 2, 4);
plot(x, x.^3);
title('Cubic Function');

Exercici 2: Crear un Gràfic amb Eixos Múltiples

Crea un gràfic amb eixos múltiples que mostri les següents funcions:

  1. y1 = sin(x) (eix esquerre)
  2. y2 = exp(x/10) (eix dret)

Solució

x = linspace(0, 10, 100);
y1 = sin(x);
y2 = exp(x/10);

figure;
yyaxis left;
plot(x, y1);
ylabel('Sine Wave');

yyaxis right;
plot(x, y2);
ylabel('Exponential Function');
title('Gràfic amb Eixos Múltiples');
xlabel('X-axis');

Conclusió

En aquesta secció, hem explorat diverses tècniques avançades per a la creació de gràfics en MATLAB, incloent subplots, eixos múltiples, gràfics interactius, animacions i exportació de gràfics. Aquestes eines us permetran crear visualitzacions més complexes i personalitzades, millorant la capacitat de comunicar dades de manera efectiva. En el proper mòdul, ens endinsarem en l'anàlisi de dades i estadística amb MATLAB.

© Copyright 2024. Tots els drets reservats