How to plot a specific value in Y-axis?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Matlaber
am 12 Feb. 2019
Bearbeitet: Adam Danz
am 25 Feb. 2019
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)
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)
Akzeptierte Antwort
Adam Danz
am 12 Feb. 2019
Bearbeitet: Adam Danz
am 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.
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-')
2 Kommentare
Adam Danz
am 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).
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!