如何消除使用'area'函数的MATLAB图中奇怪的水平线?

时间:2017-11-12 16:05:52

标签: matlab matlab-figure

我正在尝试使用MATLAB2015函数绘制area中的填充高斯(用库仑势表示电子的波函数),但不需要的水平线在它下方。顺便说一句,这一行没有出现在MATLAB2011上,但现在我没有MATLAB的这个版本。

我怎么能摆脱这条线? - 请帮忙。

代码如下:

close all;clc
x1=-5:0.0001:-0.25;
x2=0.25:0.0001:5;
phi_C_1=-1./abs(x1);
phi_C_2=-1./abs(x2);

figure
plot(x1,phi_C_1,'.-k','MarkerSize',15,'LineWidth',5)
hold on
h_1=plot(x2,phi_C_2,'.-k','MarkerSize',15,'LineWidth',5);
ylim([-4 3])
xlim([-3 3])

x=-1:0.0001:1;

c1=11;c2=-2.7; 
y=0.5*exp(-c1*x.^2)+c2;
%axis off
set(gca,'visible','off')

hold on
%plot(x,y,'g.-','MarkerSize',15,'LineWidth',5)
h_2=area(x,y,c2,'FaceColor',[0 1 0],'LineStyle','none',...
    'AlignVertexCenters','off');
set(gca,'visible','off')

产生的数字是:

the produced figure

1 个答案:

答案 0 :(得分:2)

这是area对象BaseLine,您将其作为第三个输入传递给area,您已将其设置为-2.7。将ShowBaseLine属性设置为'off'

h_2 = area(x, y, c2, 'FaceColor', [0 1 0], 'LineStyle', 'none', ...
           'AlignVertexCenters', 'off', 'ShowBaseLine', 'off');

yay