Domanda

Sto creando un grafico a candela che rappresenta i prezzi delle azioni.Una volta creato, voglio aggiungere cerchio verde che mostra dove / quando sto comprando lo 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;
.

Il problema è che se MyEsecutionTable.Buyprice ha un valore tra l'apertura e la chiusura, il cerchio non viene visualizzato.Immagino sia nascosto sotto il candeliere.Quindi ho provato a usare Uistack ma senza successo.Quando cambio a

plot(myExecutionTable.BuyDate,myExecutionTable.BuyPrice+100,'og')
.

Il cerchio verde appare quindi (sopra il candeliere)

Grazie, Serge

È stato utile?

Soluzione

Il modo più semplice per assicurarsi che un oggetto grafico sia sopra un altro (e non sotto), è di tracciarlo successivo .

Se per qualche motivo non puoi farlo in questo modo, puoi anche manipolare l'ordine degli oggetti figlio degli assi:

h = get(gca, 'Children');
.

restituisce un vettore di maniglie grafiche.Scambio di maniglie tra le posizioni in questo vettore (indice superiore significa più in alto), quindi scriverlo indietro usando

set(gca, 'Children', h)
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top