How to draw such plot

2 次查看(过去 30 天)
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 个评论
Rik
Rik 2021-5-31
doc plot
What did you try already?
Sumit Saha
Sumit Saha 2021-5-31
@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)

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2021-5-31
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 个评论
Sumit Saha
Sumit Saha 2021-5-31
@Star Strider It's okay. Thanks again.
Star Strider
Star Strider 2021-5-31
As always, my pleasure!

请先登录,再进行评论。

更多回答(1 个)

Mathieu NOE
Mathieu NOE 2021-5-31
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]);

类别

Help CenterFile Exchange 中查找有关 Colormaps 的更多信息

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by