首页 > 解决方案 > 绘制填充区域,顶部有线条

问题描述

我无法更改此图中绘制元素的顺序。

我想填充区域上绘制线图。区域

该线应始终可见。

figure
yyaxis left
h = plot([0 10],[0 10],'LineWidth',5);
yyaxis right
f = fill([3 3 6 6],[0 10 10 0],'r');

% this does not work
h.ZData = ones(size(h.XData));
f.ZData = zeros(size(f.XData));

% using area instead of fill does not help

% plotting yyaxis right before yyaxis left does not help

我通过更改在 yyaxis left 和 yyaxis right 中绘制的内容找到了一种解决方案

这条线现在绘制在该区域的顶部。

然而,轴的位置也被切换。我想保持它现在的样子(线应该属于左轴,区域应该属于右轴),因为当我这样标记它时它看起来更好:

figure
yyaxis right
h = plot([0 10],[0 10],'LineWidth',5,'color','b');
yyaxis left
f = fill([3 3 6 6],[0 1 1 0],'r');

我设法结合@LuisMendo 的提示和更改填充区域的“ZData”属性使其工作。谢谢大家的帮助!

标签: matlabplot

解决方案


推荐阅读