0

我尝试在 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;

如何使标记在蜡烛前面? 标记在管体后面

4

1 回答 1

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)

和输出:

在此处输入图像描述

于 2015-04-21T14:56:39.790 回答