MATLAB: How to plot a specific value in Y-axis

plot

I want to plot a specific range of Y-axis and not the entire Y-axis.
For example:
load sunspot.dat
year = sunspot(:,1);
avSpots = sunspot(:,2);
plot(year, avSpots)
untitled.jpg
The Y-axis is from 1700 to 2000
Let say I want to plot from 1750 to 1800, and then 1850 to 1900.
I cannot find any example, use
y = linspace(x1,x2)

Best Answer

First, your example references the x-axis; not the y-axis. Here's how to plot a portion of the data along the x axis. The same process can be applied to the y-axis.
load sunspot.dat
year = sunspot(:,1);
avSpots = sunspot(:,2);
% select the data you want to include
%'includeIndex' is a logical index that selects which data to include
% This statement selects any data between 1750-1800 and 1850-1900
includeIndex = ((year >= 1750) & (year <= 1800)) | ((year >= 1850) & (year <= 1900));
%plot results, select only included data

plot(year(includeIndex), avSpots(includeIndex))
To plot the two spans of time separately,
idx1 = (year >= 1750) & (year <= 1800);
idx2 = (year >= 1850) & (year <= 1900);
%plot results, select only included data
plot(year(idx1), avSpots(idx1),'r-')
hold on
plot(year(idx2), avSpots(idx2),'b-')