Is there any property setting for 'area' function which generates the 'straits' for the boundary of the colored regions instead of 'plot' curves?

 採用された回答

Oleg Komarov
Oleg Komarov 2011 年 7 月 20 日

7 投票

% Random row input
x = 1:10;
y = rand(1,10);
% Normal area chart
subplot(3,1,1)
area(x,y)
% Stairs chart (non area)
subplot(3,1,2)
stairs(x,y)
% Stairs area
subplot(3,1,3)
x = [x;x];
y = [y;y];
area(x([2:end end]),y(1:end))

1 件のコメント

Hamed Amini
Hamed Amini 2011 年 7 月 20 日
Very Clever! Thanks Oleg.

サインインしてコメントする。

その他の回答 (1 件)

Bill Tubbs
Bill Tubbs 2024 年 3 月 30 日
編集済み: Bill Tubbs 2024 年 3 月 30 日

1 投票

Building on Oleg's answer I wrote a function for doing the same thing with a stacked area plot. However, the data in the x and Y arguments here are aligned vertically in the rows, not horizontally in the columns.
function area_step_plot(x, Y)
assert(size(x, 2) == 1)
nx = size(x, 1);
Y = Y(1:nx-1, :); % final y-values are not used
ny = size(Y, 2);
X = [x x]';
X2 = X(2:end-1)';
Y2 = reshape(permute(cat(3, Y, Y), [3 1 2]), [], ny);
area(X2, Y2)
end
The Y argument can be a matrix of column vectors containing different data series.
x = (1:10)';
Y = rand(10, 3); % Note: last row is not plotted
area_step_plot(x, Y)

カテゴリ

ヘルプ センター および File ExchangeLine Plots についてさらに検索

質問済み:

2011 年 7 月 20 日

編集済み:

2024 年 3 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by