Trama escondida sob uma outra parcela no Matlab
-
23-12-2019 - |
Pergunta
Estou criando um gráfico de velas representando os preços das ações.Uma vez criado, eu quero adicionar um círculo verde mostra onde/quando eu estou comprando o estoque.
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;
O problema é que se myExecutionTable.BuyPrice tem um valor entre o Abrir e Fechar o círculo não está aparecendo.Eu acho que ele está escondido sob o candelabro.Daí eu tentei usar uistack mas sem sucesso.Quando eu mudar para o
plot(myExecutionTable.BuyDate,myExecutionTable.BuyPrice+100,'og')
o círculo verde aparece, em seguida, (acima do candelabro)
Obrigado, Serge
Solução
A maneira mais fácil para se certificar de que um objeto gráfico em cima do outro (e não abaixo), é a trama que mais tarde.
Se por algum motivo você não pode fazê-lo desta forma, você também pode manipular a ordem dos objetos filho eixos:
h = get(gca, 'Children');
retorna um vetor de gráficos alças.O Exchange manipula entre as posições neste vetor (índice mais alto significa maior no topo) e, em seguida, escrevê-lo de volta usando
set(gca, 'Children', h)