color plot above and below y-axis points
이전 댓글 표시
From my simulation file below, I wanted to color the plot in red for sections of the graph that goes above 100, and below -100. I bascially wanted the plot to look like this:

I have also attached the data file.
Here is my code:
%=======================================================================
% This Matlab Program reads in the data from a text file.
%=======================================================================
% Select file
clear;
clc;
[FileName,PathName] = uigetfile('*.txt','Select data file');
fid = fopen( strcat(PathName,FileName) ,'rt' );
% Read the file and store into matrix v
i = 0;
v = [0 0];
while feof(fid) == 0
buffer = fscanf(fid, '%f', 4);
buffer = buffer';
if i == 0;
v = buffer;
else
v = vertcat(v,buffer);
end
i = i + 1;
end
% Time Vector in ms
time = v(:,1);
time_ms = v(:,1).*1000;
% Freq Data
Freq = v(:,2);
% + Spec 1
Spec1 = v(:,3);
% + Spec 1
Spec2 = v(:,4);
plot(time_ms, Freq, time_ms, Spec1, 'r', time_ms, Spec2, 'r'); grid on; axis([0 7 -500 500]);
title('Zoomed-In Lock Time Response'); legend('Data 1', '+ Spec', '- Spec');
xlabel('Time (ms)'); ylabel('Frequency Offset (Hz)');
return
댓글 수: 1
dpb
2015년 10월 15일
The plot background color property is a single value for an axis so can't do that with it on a single plot.
Could either use multiple axes or probably easier, draw a surface on the axes for the two regions and color it. I'd have to play at it, too...
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
