#
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);
```