Matlab - cambiar color de elementos matriz

   
Vista:

cambiar color de elementos matriz

Publicado por sagasta17 jaime1702@hotmail.com (3 intervenciones) el 06/07/2011 10:48:13
Hola

Tengo una matriz de valores, y necesito mostrar dicha matriz (a modo de tabla) pero resaltando en color rojo los valores que sobrepasen un umbral, en naranja los que se encientren entre otros límites, etc. Alguien tiene una idea??

Gracias por adelantado

Ejemplo:

PK Nivelación Alineación Ancho
3.52 6.52 7.62 1008
4.23 7.85 6.23 1025
5.23 2.23 4.52 1003

En nivelación, que los valores entre 3 y 6 salgan en naranja, y mayores que 6 en rojo.
En alineación, que los valores entre 5 y 7 salgan en naranja, y mayores que 7 en rojo.
Etc.
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 CABALERO

cambiar color de elementos matriz

Publicado por JOSE JEREMIAS CABALERO jjcc94@hotmail.com (3432 intervenciones) el 06/07/2011 19:35:06
Hola sagasta17
Al parecer quieres algo asi:

%================================
clear all,clc
A=[3.52 6.52 7.62 1008
4.23 7.85 6.23 1025
5.23 2.23 4.52 1003];

% En nivelación, que los valores entre 3 y 6 salgan en naranja, y mayores que 6 en rojo.
% En alineación, que los valores entre 5 y 7 salgan en naranja, y mayores que 7 en rojo.
close all
[n,m]=size(A);
figure(1)
figure(gcf)
axis([0 max([n,m])+1 0 max([n,m])+1]);
for i=1:m
for j=1:n
if i==2
if A(j,i)>3 && A(j,i)<6
text(i,m+1-j,num2str(A(j,i)),'color',[1 0.6 0.5 ]);
elseif A(j,i)>=6
text(i,m+1-j,num2str(A(j,i)),'color',[1 0 0 ]);
else
text(i,m+1-j,num2str(A(j,i)));
end
end

if i==3
if A(j,i)>5 && A(j,i)<7
text(i,m+1-j,num2str(A(j,i)),'color',[1 0.6 0.5 ]);
elseif A(j,i)>=7
text(i,m+1-j,num2str(A(j,i)),'color',[1 0 0 ]);
else
text(i,m+1-j,num2str(A(j,i)));
end
end
if i~=2 && i~=3
text(i,m+1-j,num2str(A(j,i)),'color',[0 0 0 ]);
end
% text(i,m+1-j,(['A(',num2str(j),',',num2str(i),')']));
pause(0.1)
end
end

figure(2)
axis([0 max([n,m])+1 0 max([n,m])+1]);
for i=1:m
for j=1:n
text(i,m+1-j,(['A(',num2str(j),',',num2str(i),')']));
pause(0.1)
end
end
%=======================

EJECUTALO PARA LO VEAS.
>>>> colormatriz

Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
jjcc94@hotmail.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
Imágen de perfil de Dave

cambiar color de elementos matriz

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 06/07/2011 22:54:33
Te sugiero que coloques los datos de la matriz en Excel y allí mismo utilices la funciones filtrar datos y los marques con los colores correspondientes.

Saludos
Dave Correa
correa.dave30@gmail.com
http://fismatlab.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

cambiar color de elementos matriz

Publicado por sagasta17 (3 intervenciones) el 07/07/2011 12:20:24
Creo que al final me decantaré por volcar a una matriz más pequeña las filas que tengan algún valor que supere los umbrales (defectos), y esa matriz pasarla a Excel y ahí hacer lo de los colores en función de cuánto sobrepasen el umbral.
El problema es que mis matrices son del orden de 8000x15, y aunque la idea de usar el comando 'text' funciona, la figura que sale es inmanejable y se bloquea todo el rato.

Un saludo y gracias a todos.
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