我想填充d1和d3之间的区域,它会全部完成,但是区域命令之后的情节线会消失。
fGhz=[1;2;3;4;5;6;7;8;9;10];
d1 = ones(10,1)*(600e-6);
d2 = ones(10,1)*(2000e-6);
d3 = ones(10,1)*(300e-6);
plot(fGhz, lambdan_d10,'-ok',fGhz, d1, 'b',fGhz, d3, 'g',fGhz, d2, 'r','LineWidth',2)
%area([fGhz(1) fGhz(10)],[d1(1) d1(1)],d3(1), 'EdgeColor', 'none', 'FaceColor', [.7 .7 .7]) % plot a line between (x1,y1) and (x2,y2), then fill down to a baseline (6)
%ylim([0 7e-3])
答案 0 :(得分:0)
如果没有lambdan_d10说明,很难处理您的代码。不过,我认为这个问题并不重要。我认为它是正弦的。 使用矩形功能填充此区域:
% Your code
fGhz=[1;2;3;4;5;6;7;8;9;10];
lambdan_d10=sin(fGhz).*10^-2.5;
d1 = ones(10,1)*(600e-6);
d2 = ones(10,1)*(2000e-6);
d3 = ones(10,1)*(300e-6);
plot(fGhz, lambdan_d10)
plot(fGhz, lambdan_d10,'-ok',fGhz, d1, 'b',fGhz, d3, 'g',fGhz, d2, 'r','LineWidth',2)
% Fill area
XLIM=xlim();
rectangle('Position',[XLIM(1),d3(1),diff(XLIM),d1(1)-d3(1)],'FaceColor','y','EdgeColor','none')
此外,我建议您为此类报告数据提供一些模板。我的例子:
%% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%% Parameters
fGhz = [1;2;3;4;5;6;7;8;9;10];
d1 = 600e-6;
d2 = 2000e-6;
d3 = 300e-6;
%% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%% Calculations
lambdan_d10 = sin(fGhz).*10^-2.5;
%% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%% Plot results
fig1 = figure();
hold all
% plot main information
plot(fGhz, lambdan_d10,'-ok','LineWidth',2);
% get plot parameters
XLIM = xlim();
% plot helpers
plot(XLIM,[d1 d1], '-b','LineWidth',2)
plot(XLIM,[d2 d2], '-r','LineWidth',2)
plot(XLIM,[d3 d3], '-g','LineWidth',2)
rectangle('Position',[XLIM(1),d3(1),diff(XLIM),d1(1)-d3(1)],'FaceColor','y','EdgeColor','none')
% annotation
xlabel('Hz')
ylabel('eggs')
title('lambda-spam')