how to find max and min values of the plot

8 Ansichten (letzte 30 Tage)
thestargazer
thestargazer am 21 Jul. 2016
Kommentiert: thestargazer am 22 Jul. 2016
Hi,
Im plotting some data and I want to separate sections with colours. I am doing that with 'patch' but i want it to fill to maximal and minimal value of the plot window, for a section of the x-axis that I choose. My code:
figure; hold on;
I1 = power(7000:end);
t1 = time(7000:end);
plot(t1,I1,'.'); grid;
time1 = '15:48:30';
time2 = '15:51:30';
p=patch([datenum(time1,'HH:MM:SS') datenum(time2,'HH:MM:SS') ...
datenum(time2,'HH:MM:SS') datenum(time1,'HH:MM:SS')],...
[0.06 0.06 0.105 0.105],'r'); % x, Y coord
set(p,'FaceAlpha',0.1);
I don't want to enter these numbers manually. How can it find the max and min the plot with plot the data with and automatically size the patch to fill along the y-axis for entered x values?

Antworten (1)

Guillaume
Guillaume am 21 Jul. 2016
You can get the axis range from its XLim and YLim properties, which you can query with either get(gca, 'YLim') or simply ylim:
p = patch([datenum(time1,'HH:MM:SS') datenum(time2,'HH:MM:SS') ...
datenum(time2,'HH:MM:SS') datenum(time1,'HH:MM:SS')],...
reshape([ylim; ylim], 1, []),'r');
  1 Kommentar
thestargazer
thestargazer am 22 Jul. 2016
Hi, Im getting the following error when using this code: reshape([ylim; ylim], 1, []),'r');
Error: File: processdata.m Line: 46 Column: 48 Expression or statement is incorrect--possibly unbalanced (, {, or [.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by