Matlab - Leyenda en una grafica

 
Vista:

Leyenda en una grafica

Publicado por Alejandra (4 intervenciones) el 25/03/2012 11:28:19
Hola a todos otra vez,

Quiero poner como leyenda un dato que tengo en una matriz A de datos tomada de una archivo (es decir, de A.data); si pongo en el código algo como:

legend(A.data(i,3)) (siendo i el indice del bucle)

no me devuelve el número elemento de la fila i de la columna 3 de mi matriz A, si no que me va devolviendo data 1, data 2... Como si detectara que es un número, un dato, pero sin devolver el que es exactamente.

¿Alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Leyenda en una grafica

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 25/03/2012 17:26:02
Hola Alejandra.
"no me devuelve el número elemento de la fila i de la columna 3 de mi matriz A".
Con eso quieres decir que tu matriz A es realidad es una hipermatriz.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
>> A=rand(2,3,5)
A(:,:,1) =
 
    0.7127    0.4711    0.6820
    0.5005    0.0596    0.0424
 
 
A(:,:,2) =
 
    0.0714    0.0967    0.8175
    0.5216    0.8181    0.7224
 
 
A(:,:,3) =
 
    0.1499    0.5186    0.6490
    0.6596    0.9730    0.8003
 
 
A(:,:,4) =
 
    0.4538    0.8253    0.1332
    0.4324    0.0835    0.1734
 
 
A(:,:,5) =
 
    0.3909    0.8034    0.3993
    0.8314    0.0605    0.5269



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

http://matlabcaballero.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leyenda en una grafica

Publicado por Alejandra (4 intervenciones) el 28/03/2012 16:44:50
Ahora ya si que me lee los datos, se me olvidó lo de cambiarlo a string.

Pero ahora fíjate en una cosa curiosa que me pasa. Tengo un código sencillo que me va creando un plot con una serie de puntos a través de un bucle.
Quiero que cada vez que corra mi bucle se vaya 'adicionando' a la leyenda los puntos que va representado, de manera que cuando ha recorrido todo el bucle tenga en este caso una leyenda compuesta por n elementos.

Si lo hago de la manera siguiente me representa únicamente el último valor que recorre el bucle:


function leyenda

A=importdata('prueba01.txt');

[nfilas ncolumnas]=size(A.data);

x=A.data(:,1);
y=A.data(:,4);

for i=1:nfilas

plot(x(i),y(i),'ro')
legend(num2str(A.data(i)))
hold on

end

(Siendo A.data una matriz numérica cualquiera, que en este caso yo he tomado de un archivo de texto con el que estoy haciendo mis pruebas)

¿Hay algún comando tipo hold on para las gráficas que haga que mi leyenda vaya adicionando lineas (por decirlo de alguna manera...)?


Si no existe tal comando lo que haré será crearme un string que me lea los datos que yo quiero que sean mi leyenda e introducirlos de tal manera que el formato de la misma sea el que te viene en la ayuda del programa ( legend('leyenda1','leyenda2'...) )


Gracias de antemano!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar