How to fill the stair plots with some color.

30 visualizzazioni (ultimi 30 giorni)
Hello,
Below are plots (subplot) and having Figure 1 I wanted to fill these stairs (inside) same as figure 2 . I really appreciate your help in this regard.
Figure: 1
Figure 2
  2 Commenti
Renato SL
Renato SL il 26 Set 2019
Modificato: Renato SL il 26 Set 2019
I wouldn't call it as to fill the stair plots with some color.
I think the Figure 1 was made using the plot function, while Figure 2 was made using the stem function. The "color" you see is the stems of the plotted values.
Documentation of the stem function here.
Adam Danz
Adam Danz il 26 Set 2019
Modificato: Adam Danz il 26 Set 2019
The image in "figure 2" is not really a fill. As Renato SL pointed out, it's a bunch of stem plot lines which requires a lot of data points to appear as "filled". A patch is a better approach.

Accedi per commentare.

Risposta accettata

Adam Danz
Adam Danz il 26 Set 2019
Modificato: Adam Danz il 26 Set 2019
This solution reproduces the (x,y) coordinates for the staircase and then uses fill() to fill in the area under the stairs.
% Create demo plot
X = linspace(0,4*pi,40);
Y = sin(X);
figure
sh = stairs(Y);
hold on
% Get the (y,x) coordinates from the original inputs or from
% the xdata and ydata properties of the stair object which will
% always be row vectors.
bottom = -1.5; %identify bottom; or use min(sh.YData)
x = [sh.XData(1),repelem(sh.XData(2:end),2)];
y = [repelem(sh.YData(1:end-1),2),sh.YData(end)];
% plot(x,y,'y:') %should match stair plot
% Fill area
fill([x,fliplr(x)],[y,bottom*ones(size(y))], 'g')
190926 064128-Figure 1.png
  9 Commenti
Adam Danz
Adam Danz il 5 Dic 2019
Modificato: Adam Danz il 5 Dic 2019
I just tested my suggestion with your code and it works perfectly.
x = time
y = EP
% See rest of my suggestion
If it still doesn't work you'll need to explain what's not working and I suggest doing that in a new question rather than extending this thread since the topic slightly differs (you could provide the link to the new question here).
191205 001733-MATLAB Online R2019b.png
shane watson
shane watson il 5 Dic 2019
Thanks once again, it worked. However, I also posted related question on the following link, kindly check it https://se.mathworks.com/matlabcentral/answers/494956-adding-transparency-when-filling-color-in-plots

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Graphics Objects in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by