# How to plot a specific value in Y-axis?

34 views (last 30 days)
Matlaber on 12 Feb 2019
Edited: Adam Danz on 25 Feb 2019
I want to plot a specific range of Y-axis and not the entire Y-axis.
For example:
year = sunspot(:,1);
avSpots = sunspot(:,2);
plot(year, avSpots)
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)
Matlaber on 12 Feb 2019
It seemed not working
axis([0 200 1700 1750]);
axis([XMIN XMAX YMIN YMAX]) sets scaling for the x- and y-axes on the current plot.

Adam Danz on 12 Feb 2019
Edited: Adam Danz on 25 Feb 2019
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.
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-')
##### 2 CommentsShow 1 older commentHide 1 older comment
Adam Danz on 12 Feb 2019
Yeah, that's very very easy to do. Check out the how I formed the "idx1" or "idx2" variables - you'll do the same except with the years you listed above. To get the starting year, min(year). To get the end year, max(year).