Para graficar una variable en Matlab basta de las siguientes líneas:
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=rand(1,1000);
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x1000 con elementos random (entre 0 y 1)
figure() %se genera una ventana para una figura
plot(m) %se grafica la variable m con la función plot
Ejecutando el código anterior se obtiene la siguiente ventana
Si se desea guardar la imagen basta con ir al menú File y seleccionar Save as, aparecerá la ventana para indicar donde guardarla y en que formato. Si se desea tener la gráfica y editarla posteriormente la mejor opción es con extensión .fig. Otro formato interesante es con la extensión .eps con la cual se puede trabajar en Latex (ver )
Si solo se desea copiar al portapapeles
Dar nombre a los ejes X y Y
Para dar nombre a los ejes X y Y se utiliza el comando xlabel y ylabel respectivamente como se muestra a continuación:
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=rand(1,1000);
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x1000 con elementos aleatorios (entre 0 y 1)
figure() %se genera una ventana para una figura
plot(m) %se grafica la variable m con la función plot
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
Título de la gráfica
Para dar título a la gráfica se utiliza la función title, a continuación se describe:
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=rand(1,1000);
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x1000 con elementos random (entre 0 y 1)
figure() %se genera una ventana para una figura
plot(m) %se grafica la variable m con la función plot
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
Leyenda a la gráfica
La leyenda de lo que se grafica se crea con legend, a continuación se describe:
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=rand(1,1000);
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x1000 con elementos random (entre 0 y 1)
figure() %se genera una ventana para una figura
plot(m) %se grafica la variable m con la función plot
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('m')%leyenda
para lo que se grafica
Grosor, forma y color de la lineas
Para cambiar el color se debe de agregar la letra que pertenece a cada uno de los colores disponibles en la función plot, por default se tiene al colo azul, a continuación se escribe la letra perteneciente a cada color.
b blue
g green
r red
c cyan
m magenta
y yellow
k black
w white
Formas para graficar cada punto en la gráfica:
. point-punto
o circle-círculo
x x-mark- marca en forma de x
+ plus-símbolo de suma
* star-asterísco
s square-cuadrado
d diamond-rombo
v triangle (down)-triángulo hacia abajo
^ triangle (up)-triángulo hacia arriba
< triangle (left)--triángulo hacia la izquierda
> triangle (right)--triángulo hacia la derecha
p pentagram-pentagrama
h hexagram-hexagrama
- solid-línea sólida
: dotted-línea punteada
-. dashdot-guión y punto
-- dashed-línea discontínua
(none) no line-sin línea
El uso de círculos para graficar la variable m no fue muy conveniente en esta caso, para verlo mejor se graficará la función seno de los valores de m.
Graficar simultáneamente dos variables
Función subplot
Si se desea tener las dos gráficas separadas pero en una misma ventana se utiliza la función subplot. Se escribe subplot, seguido de paréntesis donde se especifican las gráficas por ventana y la posición. Por ejemplo subplot(221) quiere decir que la ventana se formará por dos renglones ,dos columnas y el uno indica la posición sobre la cual se graficará. Por lo tanto se tendrán cuatro gráficas en una misma ventana numeradas del 1 al 4.
Se pueden realizar alguna modificaciones al subplot para organizar las gráficas en la ventana, por ejemplo se requieren tres gráficas en una misma ventana, dos en la parte superior y una en la parte inferior, el código se describe a continuación:
Donde es posible editar las fuentes, colores, formas y demás.
(none) no line-sin línea
El grosor de la línea se modifica con 'linewidth' dentro de plot seguido de coma y el grosor en forma numérica, en el siguiente ejemplo se grafica con color rojo, utilizando círculos y con un grosor de 3.
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=rand(1,1000);
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x1000 con elementos random (entre 0 y 1)
figure() %se genera una ventana para una figura
plot(m,'ro','linewidth',3) %se grafica la variable m con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('m')%leyenda
para lo que se grafica
El uso de círculos para graficar la variable m no fue muy conveniente en esta caso, para verlo mejor se graficará la función seno de los valores de m.
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=1:10:360;
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x36 con elementos random (inicia en 1 e incrementa de
10 en 10)
n=sind(m);% función seno de los valores de m
figure() %se genera una ventana para una figura
plot(n,'ro','linewidth',3) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
Otro configuración importante es el tamaño del marcador a utilizar , para ello se escribe dentro de plot 'markersize' seguido de una coma y el tamaño del marcador en forma numérica, enseguida se presenta un ejemplo:
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=1:10:360;
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x36 con elementos random (inicia en 1 e incrementa de
10 en 10)
n=sind(m);% función seno de los valores de m
figure() %se genera una ventana para una figura
plot(n,'ro','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos, con un grosor de línea 3 y con un marcador de tamaño 10
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
Para ello se grafica la primera variable, se escribe hold on y se grafica la siguiente variable, en el siguiente caso se graficará la función coseno y seno de los valores de m, debe de quedar claro que se debe de especificar la legenda, tamaño, forma y color para la variable:
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=1:10:360;
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x36 con elementos random (inicia en 1 e incrementa de
10 en 10)
n=sind(m);% función seno de los valores de m
o=cosd(m);% función coseno de los valores de m
figure() %se genera una ventana para una figura
plot(n,'ro','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
hold on
plot(o,'m+','linewidth',3,'markersize',10) %se grafica la variable o con la
función plot, en color magenta, utilizando símbolos de suma y con un grosor de
3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('seno de m','coseno de m')%leyenda para lo que se grafica
Función subplot
Si se desea tener las dos gráficas separadas pero en una misma ventana se utiliza la función subplot. Se escribe subplot, seguido de paréntesis donde se especifican las gráficas por ventana y la posición. Por ejemplo subplot(221) quiere decir que la ventana se formará por dos renglones ,dos columnas y el uno indica la posición sobre la cual se graficará. Por lo tanto se tendrán cuatro gráficas en una misma ventana numeradas del 1 al 4.
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=1:10:360;
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x36 con elementos random (inicia en 1 e incrementa de
10 en 10)
n=sind(m);% función seno de los valores de m
o=cosd(m);% función coseno de los valores de m
figure() %se genera una ventana para una figura
subplot(221)
plot(n,'ro','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
subplot(222)
plot(o,'m.-','linewidth',3,'markersize',10) %se grafica la variable o con la
función plot, en color magenta, utilizando símbolos de suma y con un grosor de
3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('coseno de m')%leyenda
para lo que se grafica
subplot(223)
plot(n,'b:','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
subplot(224)
plot(o,'g+','linewidth',3,'markersize',10) %se grafica la variable o con la
función plot, en color magenta, utilizando símbolos de suma y con un grosor de
3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('coseno de m')%leyenda
para lo que se graficaSe pueden realizar alguna modificaciones al subplot para organizar las gráficas en la ventana, por ejemplo se requieren tres gráficas en una misma ventana, dos en la parte superior y una en la parte inferior, el código se describe a continuación:
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=1:10:360;
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x36 con elementos random (inicia en 1 e incrementa de
10 en 10)
n=sind(m);% función seno de los valores de m
o=cosd(m);% función coseno de los valores de m
figure() %se genera una ventana para una figura
subplot(221)%dos renglones, dos columnas, posición 1
plot(n,'ro','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
subplot(222)%dos renglones, dos columnas, posición 2
plot(o,'m.-','linewidth',3,'markersize',10) %se grafica la variable o con la
función plot, en color magenta, utilizando símbolos de suma y con un grosor de
3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('coseno de m')%leyenda
para lo que se grafica
subplot(212)%se modifica el subplot pero solo se afectará al renglón dos, por lo
tanto la gráfica abarcará la parte inferior
plot(n,'b:','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X')%nombrar el eje x
ylabel('Título para el eje Y')%nombrar el eje y
title('Título para gráfica')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
Si se desea visualizar mejor los ejes y título de la gráfica se aumenta el tamaño de letra y tipo mediante 'Fontsize',seguido de un valor numérico y de 'FontWeight',seguido del tipo de letra, por ejemplo 'bold' .
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=1:10:360;
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x36 con elementos random (inicia en 1 e incrementa de
10 en 10)
n=sind(m);% función seno de los valores de m
o=cosd(m);% función coseno de los valores de m
figure() %se genera una ventana para una figura
subplot(221)%dos renglones, dos columnas, posición 1
plot(n,'ro','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X','Fontsize',12,'FontWeight','bold')%nombrar el eje x
ylabel('Título para el eje Y','Fontsize',12,'FontWeight','bold')%nombrar el eje y
title('Título para gráfica','Fontsize',12,'FontWeight','bold')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
subplot(222)%dos renglones, dos columnas, posición 2
plot(o,'m.-','linewidth',3,'markersize',10) %se grafica la variable o con la
función plot, en color magenta, utilizando símbolos de suma y con un grosor de
3
xlabel('Título para el eje X','Fontsize',12,'FontWeight','bold')%nombrar el eje x
ylabel('Título para el eje Y','Fontsize',12,'FontWeight','bold')%nombrar el eje y
title('Título para gráfica','Fontsize',12,'FontWeight','bold')% darle título a la gráfica
legend('coseno de m')%leyenda
para lo que se grafica
subplot(212)%se modifica el subplot pero solo se afectará al renglón dos, por lo
tanto la gráfica abarcará la parte inferior
plot(n,'b:','linewidth',3,'markersize',10) %se grafica la variable n con la función
plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X','Fontsize',12,'FontWeight','bold')%nombrar el eje x
ylabel('Título para el eje Y','Fontsize',12,'FontWeight','bold')%nombrar el eje y
title('Título para gráfica','Fontsize',12,'FontWeight','bold')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
Para modificar los números de los ejes se modifica el gca mediante el código siguiente:
set(gca,'Fontsize',12,'FontWeight','bold')
Empleado en las gráficas es de la siguiente manera:
clc %limpiar pantalla
clear all %limpiar
las variables en el workspace
close all %cerrar
las ventanas abiertas (excepto el workspace y el editor de scripts)
m=1:10:360;
%se genera una variable en forma de vector de nombre
"n" de tamaño 1x36 con elementos random (inicia en 1 e incrementa de
10 en 10)
n=sind(m);% función seno de los valores de m
o=cosd(m);% función coseno de los valores de m
figure() %se genera una ventana para una figura
subplot(221)%dos renglones, dos columnas, posición 1
plot(n,'ro','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X','Fontsize',12,'FontWeight','bold')%nombrar el eje x
ylabel('Título para el eje Y','Fontsize',12,'FontWeight','bold')%nombrar el eje y
title('Título para gráfica','Fontsize',12,'FontWeight','bold')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
set(gca,'Fontsize',12,'FontWeight','bold')
subplot(222)%dos renglones, dos columnas, posición 2
plot(o,'m.-','linewidth',3,'markersize',10) %se grafica la variable o con la
función plot, en color magenta, utilizando símbolos de suma y con un grosor de
3
xlabel('Título para el eje X','Fontsize',12,'FontWeight','bold')%nombrar el eje x
ylabel('Título para el eje Y','Fontsize',12,'FontWeight','bold')%nombrar el eje y
title('Título para gráfica','Fontsize',12,'FontWeight','bold')% darle título a la gráfica
legend('coseno de m')%leyenda
para lo que se grafica
set(gca,'Fontsize',12,'FontWeight','bold')
subplot(212)%se modifica el subplot pero solo se afectará al renglón dos, por lo
tanto la gráfica abarcará la parte inferior
plot(n,'b:','linewidth',3,'markersize',10) %se grafica la variable n con la
función plot, en color rojo, utilizando círculos y con un grosor de 3
xlabel('Título para el eje X','Fontsize',12,'FontWeight','bold')%nombrar el eje x
ylabel('Título para el eje Y','Fontsize',12,'FontWeight','bold')%nombrar el eje y
title('Título para gráfica','Fontsize',12,'FontWeight','bold')% darle título a la gráfica
legend('seno de m')%leyenda
para lo que se grafica
set(gca,'Fontsize',12,'FontWeight','bold')
Por último, si no deseas agregar código puedes generar tu gráfica y editarla con el editor de Matlab
gracias por el código, útil y completo
ResponderEliminar