【问题标题】:how to eliminate a strange horizontal line in MATLAB figure that uses the 'area' function?如何消除使用“区域”函数的 MATLAB 图中的一条奇怪的水平线?
【发布时间】:2026-01-07 22:45:02
【问题描述】:

我正在尝试使用area 函数在MATLAB2015 中绘制一个填充高斯(表示库仑势中电子的波函数),但它下方出现了一条不需要的水平线。顺便说一句,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')

生成的图是:

【问题讨论】:

    标签: matlab matlab-figure


    【解决方案1】:

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

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

    【讨论】: