Plotting, how can I stop fill hiding the tickmarks?

3 ビュー (過去 30 日間)
dormant
dormant 2025 年 5 月 12 日
コメント済み: dormant 2025 年 5 月 15 日
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 Center および File ExchangePolygons についてさらに検索

タグ

製品


リリース

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by