How to draw such plot

4 vues (au cours des 30 derniers jours)
Sumit Saha
Sumit Saha le 31 Mai 2021
Commenté : Star Strider le 31 Mai 2021
How can I draw such plots i.e. storey (y -axis) 0 to 1 > x = constant (assume 5500) and y 1 to 2 > x= 45625.5 ...likewise it follows the pattern...
  2 commentaires
Rik
Rik le 31 Mai 2021
doc plot
What did you try already?
Sumit Saha
Sumit Saha le 31 Mai 2021
@Rik I've just tried with the normal plot...but I'm getting sloped line. I've taken one example.
Y =[0 1 2 3 4 5];
X = [0 2100 3456 4856 5641 6452];
plot(X,Y)

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 31 Mai 2021
Try something like this —
v = [1 1000 2000]; % Controls Step Offsets
fcn = @(x,v) plot([1 1]+(x+v(1)),[2 3], [(x+v(1)) (x+v(2))], [2 2], [1 1]+(x+v(2)),[1 2], [(x+v(2)) (x+v(3))], [1 1], [1 1]+(x+v(3)),[0 1]);
xv = [100 300 500 1000 1500]; % Beginning ‘x’ Variable
cm = turbo(numel(xv)); % Colormap
figure
hold on
for k1 = 1:numel(xv)
hp{k1} = fcn(xv(k1),v); % Plot ‘Step’
for k2 = 1:numel(hp{k1})
hp{k1}(k2).LineWidth = 2; % Modify Line Width
hp{k1}(k2).Color = cm(k1,:); % Modify Line Color
end
end
hold off
.
  6 commentaires
Sumit Saha
Sumit Saha le 31 Mai 2021
@Star Strider It's okay. Thanks again.
Star Strider
Star Strider le 31 Mai 2021
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

Mathieu NOE
Mathieu NOE le 31 Mai 2021
helllo
simply like this (one curve demo)
% 3 storey plot
x = [ 1 1 2 2 3 3];
y = [5000 4000 4000 3000 3000 2000];
plot(x,y,'r-.','linewidth',2);
xlim([0 5]);
  1 commentaire
Sumit Saha
Sumit Saha le 31 Mai 2021
thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Labels and Styling dans Help Center et File Exchange

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by