Stair Plots in MATLAB®
How to make Stair Plots in MATLAB® with Plotly.
Plot Single Data Series
Create a stairstep plot of sine evaluated at 40 equally spaced values between 0 and 4π.
X = linspace(0,4*pi,40);
Y = sin(X);
figure
stairs(Y)
fig2plotly(gcf);
The length of Y
automatically determines and generates the x-axis scale.
Plot Multiple Data Series
Create a stairstep plot of two cosine functions evaluated at 50 equally spaced values between 0 and 4π.
X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
figure
stairs(Y)
fig2plotly(gcf);
The number of rows in Y
automatically determines and generates the x-axis scale.
Plot Single Data Series at Specified x-Values
Create a stairstep plot of a sine wave evaluated at equally spaced values between 0 and 4π. Specify the set of x-values for the plot.
X = linspace(0,4*pi,40);
Y = sin(X);
figure
stairs(X,Y)
fig2plotly(gcf);
The entries in Y
are plotted against the corresponding entries in X
.
Plot Multiple Data Series at Specified x-Values
Create a stairstep plot of two cosine waves evaluated at equally spaced values between 0 and 4π. Specify the set of x-values for the plot.
X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
figure
stairs(X,Y)
fig2plotly(gcf);
The first vector input, X
, determines the x-axis positions for both data series.
Plot Multiple Data Series at Unique Sets of x-Values
Create a stairstep plot of two sine waves evaluated at different values. Specify a unique set of x-values for plotting each data series.
x1 = linspace(0,2*pi)';
x2 = linspace(0,pi)';
X = [x1,x2];
Y = [sin(5*x1),exp(x2).*sin(5*x2)];
figure
stairs(X,Y)
fig2plotly(gcf);
Each column of X
is plotted against the corresponding column of Y
.
Specify Line Style, Marker Symbol and Color
Create a stairstep plot and set the line style to a dot-dashed line, the marker symbol to circles, and the color to red.
X = linspace(0,4*pi,20);
Y = sin(X);
figure
stairs(Y, '-.or')
fig2plotly(gcf);
Specify Additional Style Options
Create a stairstep plot and set the line width to 2, the marker symbols to diamonds, and the marker face color to cyan using Name,Value
pair arguments.
X = linspace(0,4*pi,20);
Y = sin(X);
figure
stairs(Y,'LineWidth',2,'Marker','d','MarkerFaceColor','c')
fig2plotly(gcf);
Specify Axes for Stairstep Plots
Starting in R2019b, you can display a tiling of plots using the tiledlayout
and nexttile
functions. Call the tiledlayout
function to create a 2-by-1 tiled chart layout. Call the nexttile
function to create the axes objects ax1
and ax2
. Create separate stairstep plots in the axes by specifying the axes object as the first argument to stairs
.
x = linspace(0,2*pi);
y1 = 5*sin(x);
y2 = sin(5*x);
tiledlayout(2,1)
% Top plot
ax1 = nexttile;
stairs(ax1,x,y1)
% Bottom plot
ax2 = nexttile;
stairs(ax2,x,y2)
fig2plotly(gcf);
Modify Stairstep Plot After Creation
Create a stairstep plot of two data series and return the two stair objects.
X = linspace(0,1,30)';
Y = [cos(10*X), exp(X).*sin(10*X)];
h = stairs(X,Y);
fig2plotly(gcf);
Use small circle markers for the first data series. Use magenta filled circles for the second series. Use dot notation to set properties.
X = linspace(0,1,30)';
Y = [cos(10*X), exp(X).*sin(10*X)];
h = stairs(X,Y);
h(1).Marker = 'o';
h(1).MarkerSize = 4;
h(2).Marker = 'o';
h(2).MarkerFaceColor = 'm';
fig2plotly(gcf);
Create a Stairstep Plot using plot Function
Evaluate two cosine functions at 50 equally spaced values between 0 and 4π and create a stairstep plot using plot
.
X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
[xb,yb] = stairs(X,Y);
stairs
returns two matrices of the same size, xb
and yb
, but no plot.
Use plot
to create the stairstep plot with xb
and yb
.
X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
[xb,yb] = stairs(X,Y);
figure
plot(xb,yb)
fig2plotly(gcf);