Plotting, how can I stop fill hiding the tickmarks?

3 次查看(过去 30 天)
I'm making a complex plot, and using the fill command to create a patchy background for the plot.
But I don''t seem to be able to do it in a way that retains the tick marks. They always get covered by the filled area.
Here is an example:
figure;
X = 0:20;
Y = sin( X/10 );
plot( X, Y, 'ko' );
hold on;
Xfill = [ 10 20 20 10 10];
Yfill = [-1 -1 1 1 -1];
axf = fill( Xfill, Yfill, 'w' );
uistack(axf,'bottom');
Which produces this plot.
How can I keep my tick marks (without moving them to the outside)?

采纳的回答

Matt J
Matt J 2025-5-12
编辑:Matt J 2025-5-12
X = 0:20;
Y = sin(X/10);
plot(X, Y, 'ko'); hold on;
% Draw white patch (e.g., to "highlight" a region)
Xfill = [10 20 20 10 10];
Yfill = [-1 -1 1 1 -1];
h = fill(Xfill, Yfill, 'w'); % Opaque white patch
% Send patch to bottom so axes ticks/labels are on top
uistack(h, 'bottom');
set(gca, 'Layer', 'top'); % Ensures ticks are drawn on top
xticks(0:2:20)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Polygons 的更多信息

标签

产品


版本

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by