Участок скрытый под другим участком в Matlab
-
23-12-2019 - |
Вопрос
Я создаю подсвечникную графику, представляющую цены на акции.После создания я хочу добавить зеленый круг, показывающий, где / когда я покупаю запас.
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;
.
Проблема в том, что если myexecutytable.buyprice имеет значение между открытым и близким, круг не отображается.Я думаю, это скрыто под подсвечником.Следовательно, я пытался использовать Uistack, но без успеха.Когда я меняюсь на
plot(myExecutionTable.BuyDate,myExecutionTable.BuyPrice+100,'og')
.
Затем появляется зеленый круг (над подсвечником)
Спасибо, Серж
Решение
Самый простой способ убедиться, что один графический объект находится сверху другого (а не ниже), чтобы построить его позже .
Если по какой-то причине вы не можете сделать это таким образом, вы также можете манипулировать порядком дочерних объектов осей:
h = get(gca, 'Children');
.
Возвращает вектор графических ручек.Обмен ручкой между позициями в этом векторе (более высокий индекс означает выше сверху), а затем запишите его с помощью
set(gca, 'Children', h)
.