color plot above and below y-axis points

2 ビュー (過去 30 日間)
monkey_matlab
monkey_matlab 2015 年 10 月 15 日
回答済み: Star Strider 2015 年 10 月 16 日
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
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...

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2015 年 10 月 16 日
This is one way to have the plot appear as you want it to. You will have to experiment to get it exactly the way you want:
x = linspace(0, 8, 800); % Create Data
y = 1000*randn(1,800).*exp(-0.7*x); % Create Data
figure(1)
patch([0 8 8 0], [100 100 500 500], 'r', 'FaceAlpha',0.25)
patch([0 8 8 0], -1*[100 100 500 500], 'r', 'FaceAlpha',0.25)
hold on
axis([0 8 -500 500])
plot(x, y)
hold off
grid on

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGraphics Object Properties についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by