Parcela oculta bajo otra parcela en Matlab
-
23-12-2019 - |
Pregunta
Estoy creando una tabla de candelabros que representa los precios de las acciones.Una vez creado, quiero agregar círculo verde que muestra dónde / cuando estoy comprando el stock.
hold on;
candle(myData.High, myData.Low, myData.Close, myData.Open, '', myData.Date, 'dd/mm/yy');
m = plot(myExecutionTable.BuyDate,myExecutionTable.BuyPrice,'og')
uistack(m)
hold off;
El problema es que si myExecutionTable.Buyprice tiene un valor entre la abierta y la cierre, el círculo no aparece.Supongo que está oculto bajo el candelabro.Por lo tanto, traté de usar Uistack pero sin éxito.Cuando cambio a
plot(myExecutionTable.BuyDate,myExecutionTable.BuyPrice+100,'og')
aparece el círculo verde (arriba del candelabro)
gracias, SERGE
Solución
La forma más fácil de asegurarse de que un objeto de gráficos esté en la parte superior de otro (y no a continuación), es trazarlo más tarde .
Si por alguna razón no puede hacerlo de esta manera, también puede manipular el orden de los objetos secundarios de los ejes:
h = get(gca, 'Children');
Devuelve un vector de asas de gráficos.Los mangos de intercambio entre las posiciones en este vector (un índice más alto significa más alto en la parte superior), y luego escríbelo con
set(gca, 'Children', h)