Matlab - cambiar color de elementos matriz

 
Vista:

cambiar color de elementos matriz

Publicado por sagasta17 (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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

cambiar color de elementos matriz

Publicado por JOSE JEREMIAS CABALERO (5917 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
[email protected]
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