我尝试在Matlab的蜡烛图上放置一个标记。 但是标记放在蜡烛下面,如果标记太小,则无法看到标记。
我尝试使用uistack重新排序图层,但标记仍然放在蜡烛体后面。
load disney;
candle(dis_HIGH(end-20:end), dis_LOW(end-20:end), dis_CLOSE(end-20:end),...
dis_OPEN(end-20:end), 'b');
hold on;
markers = plot(2,20.4,'r^','MarkerFaceColor','r', 'MarkerSize',15);
uistack(markers,'top');
hold off;
如何让标记位于蜡烛前?
答案 0 :(得分:0)
您可以通过执行以下操作来解决此问题:
1)在与现有轴相同的位置添加新的透明轴。
2)将其NextPlot
属性设置为add
。
3)调整其极限以适应蜡烛图生成的轴。
所以在代码中看起来像这样:
清除所有
clc
close all
load disney;
candle(dis_HIGH(end-20:end), dis_LOW(end-20:end), dis_CLOSE(end-20:end),...
dis_OPEN(end-20:end), 'b');
%//======================
%// Get current axes
Axes1 = gca;
%// Get the current limits
Axes1XLim = get(gca,'XLim');
Axes1YLim = get(gca,'YLim');
%// Create new axes
hold on
NewAxes = axes('Position',get(gca,'Position'),'Color','none','XTick',get(Axes1,'XTick'),'YTick',get(Axes1,'YTick'),'NextPlot','add')
%// Plot your data on new axes
m = plot(NewAxes,2,20.4,'r^','MarkerFaceColor','r', 'MarkerSize',15);
%// Adjust its limits
xlim(Axes1XLim)
ylim(Axes1YLim)
输出: