Matlab - Color GUI

 
Vista:
sin imagen de perfil
Val: 65
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Color GUI

Publicado por José (35 intervenciones) el 13/05/2020 08:14:37
Buena noche.

Cómo puedo cambiar el color de un text que aparece en una gráfica al cambiarle el fondo a la gráfica, es decir, el text que estoy haciendo aparecer en la grafica es color blanco cuando el fondo es negro y quiero que cuando cambie el fondo a blanco el text se haga negro, los cambios de los fondos ya están programados mediante el uso de un ''uicontextmenu'' que ya esta generado y funciona.

Gracias de antemano
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
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Color GUI

Publicado por Daniel (354 intervenciones) el 13/05/2020 10:47:14
Hola,

1
set(h,'Color', 'red');

donde h es el handle al elemento al que se desea cambiar el color.

Saludos,
Daniel Rodríguez
Analytics Lane
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
sin imagen de perfil
Val: 65
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Color GUI

Publicado por José (35 intervenciones) el 13/05/2020 20:12:11
Estoy usando la función text para mostrar en una gráfica el valor máximo en una gráfica, el cual no es un handle y además lo estoy usando dentro del Callback de un uicontrol, entonces utilizar set no creo que me funcione en este caso.
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Color GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 14/05/2020 01:46:23
Estimado, tendría una ayuda más acertada si pudiera brindar una información más detallada como por ejemplo subir su código. De esa manera quien tenga ese sentir de poder apoyarle puede entender su pregunta y le brinde la respuestá más acertada a su pregunta.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab
[email protected]


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Color GUI

Publicado por Daniel (354 intervenciones) el 14/05/2020 09:09:21
Hola,

Lo primero, se puede cambiar el color al crear el objeto, en la mayoría de los casos solo hay que agregar la propiedad color. Por ejemplo, para un texto:

1
text(x,y,'txt', 'color', 'red')

Si se quiere hacer a posteriori hay que tener la referencia al texto (handle) que se puede entre los hijos de la figura (o de algún hijo de la figura dependiendo de cómo se hubiese creado el texto)

1
get(h,'Children')

donde h es el handle a la figura.

Saludos,
Daniel Rodríguez
Analytics Lane
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
sin imagen de perfil
Val: 65
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Color GUI

Publicado por José (35 intervenciones) el 15/05/2020 05:55:48
Daniel muchísimas gracias por tu explicación, lo solucione de esa manera.

José ya subo los códigos para dar un mejor contexto de los problemas.

Me surgio otro problema, se selecciona una gráfica de un uicontrol tipo pop up, y al undir click derecho para por ejemplo acceder a una de las varias opciones para modificar la grafica, al querer volver a seleccionar la mismas grafica u otra del pop up esta ya no aparece de la forma inicial.



Captura
Captura1
Captura2

CÓDIGO DEL POP UP

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
h_sismo = uicontrol('Parent',tab_tiempo, ...
  	'Style','Popup',...
	'Units','normalized', ...
	'BackgroundColor',[1 1 1], ...
    'FontName',FontName,'FontSize',9,...
	'ListboxTop',0, ...
	'Position',[.11 .78 .21 .2], ...
	'String','El Centro|Armenia|Mexico|Paez|Loma Prieta E-W|Loma Prieta N-S|Loma Prieta VERT',...
    'CallBack', ['valor=get(h_sismo,''value'');',...
            'sismos = {''elcentro.txt'',''armenia.txt'',''mexico_n.txt'',''paez.txt'',''loma_ew.txt'',''loma_ns.txt'',''loma_ver.txt''};',...
            'sis = load(char(sismos(valor)));',...
            'dt = .02;',...
            'time =  transpose(dt*(1:length(sis)));',...
            'n_sis = sis/100;',...
            'amax=max(max(n_sis),abs(min(n_sis))),'...,
            'if amax==max(n_sis),'...,
            'x=max(n_sis);'...,
            'else,'...,
            'x=min(n_sis),'...,
            'end,'...,
            'amax=find(n_sis==x),'...,
            'plot(acel_base,time,n_sis,time(amax),n_sis(amax),''oy'',''UIContextMenu'',menu_fondo,''color'',''y''),',...
            'txt_acel=[''ü_{so} = '',num2str(abs(n_sis(amax)))];'...,
            'if get(m_negro,''Checked'')==''on'','...,
            'txt_acel=text(acel_base,time(amax)+1.01,n_sis(amax),txt_acel,''color'',[1 1 1]),'...,
            'elseif get(m_blanco,''Checked'')==''on'','...,
            'txt_acel=text(acel_base,time(amax)+1.01,n_sis(amax),txt_acel,''color'',[0 0 0]),'...,
            'end,'...,
            'grid(acel_base,''on''),',...
            'set(acel_base,''color'',[0 0 0]),set(acel_base,''xcolor'',[0 0 0]),set(acel_base,''ycolor'',[0 0 0]),set(acel_base,''GridColor'',[0.8 0.8 0.8]),',...
            'set(m_negro,''checked'',''on''),set(m_blanco,''checked'',''off''),',...
            'ylabel(acel_base,''ü_s,  [m/seg^2]'',''fontsize'',9,''FontWeight'',''bold'',''color'',[.2 .2 .2]),',...
            'xlabel(acel_base,''Tiempo, [seg]'',''fontsize'',9,''FontWeight'',''bold'',''color'',[.2 .2 .2]),',...
            'vel_sis = machethomson(transpose(n_sis),1/dt,.1,1);',...
            'vmax=max(max(vel_sis),abs(min(vel_sis))),'...,
            'if vmax==max(vel_sis),'...,
            'x=max(vel_sis);'...,
            'else,'...,
            'x=min(vel_sis),'...,
            'end,'...,
            'vmax=find(vel_sis==x),'...,
            'plot(vel_base,time,vel_sis,''r'',time(vmax),vel_sis(vmax),''or'',''UIContextMenu'',menu_fondo),',...
            'txt_vel=[''u^{.}_{so} = '',num2str(abs(vel_sis(vmax)))];'...,
            'if get(m_negro,''Checked'')==''on'','...,
            'txt_vel=text(vel_base,time(vmax)+1.01,vel_sis(vmax),txt_vel,''color'',[1 1 1]),'...,
            'elseif get(m_blanco,''Checked'')==''on'','...,
            'txt_vel=text(vel_base,time(vmax)+1.01,vel_sis(vmax),txt_vel,''color'',[0 0 0]),'...,
            'end,'...,
            'grid(vel_base,''on''),',...
            'set(vel_base,''color'',[0 0 0]),set(vel_base,''xcolor'',[.3 .3 .3]),set(vel_base,''ycolor'',[.3 .3 .3]),set(vel_base,''GridColor'',[0.8 0.8 0.8]),',...
            'ylabel(vel_base,''u^{.}_s,  [m/seg]'',''fontsize'',9,''FontWeight'',''bold'',''color'',[.2 .2 .2]),',...
            'xlabel(vel_base,''Tiempo, [seg]'',''fontsize'',9,''FontWeight'',''bold'',''color'',[.2 .2 .2]),',...
            'des_sis = machethomson(transpose(n_sis),1/dt,.1,2);',...
            'dmax=max(max(des_sis),abs(min(des_sis))),'...,
            'if dmax==max(des_sis),'...,
            'x=max(des_sis);'...,
            'else,'...,
            'x=min(des_sis),'...,
            'end,'...,
            'dmax=find(des_sis==x),'...,
            'plot(des_base,time,des_sis,''c'',time(dmax),des_sis(dmax),''oc'',''UIContextMenu'',menu_fondo),',...
            'txt_des=[''u_{so} = '',num2str(abs(des_sis(dmax)))];'...,
            'if get(m_negro,''Checked'')==''on'','...,
            'txt_des=text(des_base,time(dmax)+1.01,des_sis(dmax),txt_des,''color'',[1 1 1]),'...,
            'elseif get(m_blanco,''Checked'')==''on'','...,
            'txt_des=text(des_base,time(dmax)+1.01,des_sis(dmax),txt_des,''color'',[0 0 0]),'...,
            'end,'...,
            'grid(des_base,''on''),',...
            'set(des_base,''color'',[0 0 0]),set(des_base,''xcolor'',[.3 .3 .3]),set(des_base,''ycolor'',[.3 .3 .3]),set(des_base,''GridColor'',[0.8 0.8 0.8]),',...
            'ylabel(des_base,''u_s,  [m]'',''fontsize'',9,''FontWeight'',''bold'',''color'',[.2 .2 .2]),',...
            'xlabel(des_base,''Tiempo, [seg]'',''fontsize'',9,''FontWeight'',''bold'',''color'',[.2 .2 .2]),',...
            'set(text_per,''enable'',''on''),',...
            'set(jTabGroup,''visible'',''on''),',...
            'set(frec_acel,''visible'',''off''),',...
            'set(frec_acel.Children,''visible'',''off''),',...
            ]);

CÓDIGO DEL UICONTEXTMENU

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
menu_fondo = uicontextmenu;
% m_zoom = uimenu(menu_fondo,...
%     'Label','&Zoom');
%         m_zoomon = uimenu(m_zoom,...
%             'label','On',...
%             'callback',['set(m_zoomoff,''Checked'',''off''),',...
%                         'set(m_zoomon,''Checked'',''on''),',...
%                         'zoom on']);
%         m_zoomoff = uimenu(m_zoom,...
%             'Label', 'Off',...
%             'callback',['set(m_zoomoff,''Checked'',''on''),',...
%                         'set(m_zoomon,''Checked'',''off''),',...
%                         'zoom off']);
 
m_fondo = uimenu(menu_fondo,...
    'Label','&Color de Fondo');
        m_negro = uimenu(m_fondo,...
            'label','Negro',...
            'checked','on',...
            'callback',['set(m_blanco,''Checked'',''off''),',...
                        'set(m_negro,''Checked'',''on''),',...
                        'set(gca,''color'',''k''),',...
                        'txt_acel.Color=''w'',',...
                        'txt_vel.Color=''w'',',...
                        'txt_des.Color=''w''']);
        m_blanco = uimenu(m_fondo,...
            'Label', 'Blanco',...
            'callback',['set(m_blanco,''Checked'',''on''),',...
                        'set(m_negro,''Checked'',''off''),',...
                        'set(gca,''color'',''w''),'...,
                        'txt_acel.Color=''k'',',...
                        'txt_vel.Color=''k'',',...
                        'txt_des.Color=''k''']);
 
m_grid = uimenu(menu_fondo,...
    'Label','&Grid');
        m_gridon = uimenu(m_grid,...
            'label','On',...
            'checked','on',...
            'callback',['set(m_gridoff,''Checked'',''off''),',...
                        'set(m_gridon,''Checked'',''on''),',...
                        'set(gca,''Xgrid'',''on''),',...
                        'set(gca,''Ygrid'',''on'')']);
        m_gridoff = uimenu(m_grid,...
            'Label', 'Off',...
            'callback',['set(m_gridon,''Checked'',''off''),',...
                        'set(m_gridoff,''Checked'',''on''),',...
                        'set(gca,''Xgrid'',''off''),',...
                        'set(gca,''Ygrid'',''off'')']);
m_linea = uimenu(menu_fondo,...
    'Label','&Color de Linea',...
    'Separator','on');
        m_linea_azul = uimenu(m_linea,...
            'label','Azul',...
            'callback',['set(m_linea_rojo,''Checked'',''off''),',...
                        'set(m_linea_yellow,''Checked'',''off''),',...
                        'set(m_linea_azul,''Checked'',''on''),',...
                        'set(m_linea_magenta,''Checked'',''off''),',...
                        'linea = get(gca,''children'');',...
                        'set(linea,''color'',''b'')']);
        m_linea_rojo = uimenu(m_linea,...
            'Label', 'Rojo',...
            'callback',['set(m_linea_rojo,''Checked'',''on''),',...
                        'set(m_linea_yellow,''Checked'',''off''),',...
                        'set(m_linea_magenta,''Checked'',''off''),',...
                        'set(m_linea_azul,''Checked'',''off''),',...
                        'linea = get(gca,''children'');',...
                        'set(linea,''color'',''r'')']);
        m_linea_yellow = uimenu(m_linea,...
            'Label', 'Amarillo',...
            'checked','on',...
            'callback',['set(m_linea_yellow,''Checked'',''on''),',...
                        'set(m_linea_azul,''Checked'',''off''),',...
                        'set(m_linea_magenta,''Checked'',''off''),',...
                        'set(m_linea_rojo,''Checked'',''off''),',...
                        'linea = get(gca,''children'');',...
                        'set(linea,''color'',''y'')']);
        m_linea_magenta = uimenu(m_linea,...
            'Label', 'Magenta',...
            'callback',['set(m_linea_magenta,''Checked'',''on''),',...
                        'set(m_linea_yellow,''Checked'',''off''),',...
                        'set(m_linea_azul,''Checked'',''off''),',...
                        'set(m_linea_rojo,''Checked'',''off''),',...
                        'linea = get(gca,''children'');',...
                        'set(linea,''color'',''m'')']);
 
m_estilo = uimenu(menu_fondo,...
    'Label','&Estilo de Linea');
        m_linea_solid = uimenu(m_estilo,...
            'label','-',...
            'checked','on',...
            'callback',['set(m_linea_dotted,''Checked'',''off''),',...
                        'set(m_linea_dashdot,''Checked'',''off''),',...
                        'set(m_linea_punto,''Checked'',''off''),',...
                        'set(m_linea_solid,''Checked'',''on''),',...
                        'linea = get(gca,''children'');',...
                        'set(linea,''LineStyle'',''-'')']);
        m_linea_dotted = uimenu(m_estilo,...
            'Label', ':',...
            'callback',['set(m_linea_dotted,''Checked'',''on''),',...
                        'set(m_linea_solid,''Checked'',''off''),',...
                        'set(m_linea_dashdot,''Checked'',''off''),',...
                        'set(m_linea_punto,''Checked'',''off''),',...
                        'linea = get(gca,''children'');',...
                        'set(linea,''LineStyle'','':'')']);
        m_linea_dashdot = uimenu(m_estilo,...
            'Label', '-.',...
            'callback',['set(m_linea_dashdot,''Checked'',''on''),',...
                        'set(m_linea_solid,''Checked'',''off''),',...
                        'set(m_linea_dotted,''Checked'',''off''),',...
                        'set(m_linea_punto,''Checked'',''off''),',...
                        'linea = get(gca,''children'');',...
                        'set(linea,''LineStyle'',''-.'')']);
        m_linea_punto = uimenu(m_estilo,...
            'Label', '.',...
            'callback',['set(m_linea_dashdot,''Checked'',''on''),',...
                        'set(m_linea_solid,''Checked'',''off''),',...
                        'set(m_linea_dotted,''Checked'',''off''),',...
                        'set(m_linea_punto,''Checked'',''off''),',...
                        'linea = get(gca,''children'');',...
                        'set(linea,''LineStyle'',''.'')']);
 
set(acel_base,'UIContextMenu',menu_fondo)
 
vel_base = axes('parent',tab_vel,...
    'Position',[.11 .12 .87 .74],...
    'visible','off',...
    'fontsize',8);
set(vel_base,'UIContextMenu',menu_fondo)
vel_base.ActivePositionProperty = 'outerposition';
 
des_base = axes('parent',tab_des,...
    'Position',[.11 .12 .87 .74],...
    'visible','off',...
    'fontsize',8);
set(des_base,'UIContextMenu',menu_fondo)
des_base.ActivePositionProperty = 'outerposition';
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
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Color GUI

Publicado por Daniel (354 intervenciones) el 15/05/2020 09:17:36
Esto es porue al crear una gráfica nueva se borran las opciones de la anterior, tendras que volver a aplicar las opciones. Para esto lo mejor es llamar siempre a la misma función.
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
sin imagen de perfil
Val: 65
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Color GUI

Publicado por José (35 intervenciones) el 15/05/2020 18:43:40
Podrías indicármelo con un ejemplo por favor.
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