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 个评论

doc plot
What did you try already?
@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)

请先登录,再进行评论。

 采纳的回答

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 个评论

As always, my pleasure!
@Star Strider turbo is not working for me...is there any alternate way ?
Choose whatever colormap you want. Several options could work, such as hsv or jet.
(My apologies, turbo is new in R2021a. I have used it frequently since it appeared.)
@Star Strider It's okay. Thanks again.
As always, my pleasure!

请先登录,再进行评论。

更多回答(1 个)

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]);

类别

帮助中心File Exchange 中查找有关 Labels and Styling 的更多信息

产品

版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by