【问题标题】:Trying to understand the Matlab's patch command试图理解 Matlab 的 patch 命令
【发布时间】:2014-06-30 17:43:41
【问题描述】:

我不明白为什么 patch 命令用红色填充我的函数上方的区域而不是它下方的区域;我的意思是我的函数图和横坐标轴之间的区域。

x = linspace(0, 4);
f = x.^2;
plot(x, f)
patch(x, f, [1 0 0])

【问题讨论】:

    标签: matlab plot matlab-figure


    【解决方案1】:

    因为patch 绘制了一个封闭的多边形。在你的最后一点之后,它会以最短的方式回到第一点。您需要在末尾添加一个额外的点,并以最后一个/第一个参数开头,但 f = 0

    这样:

    x = linspace(0, 4);
    f = x.^2;
    
    plot(x, f)
    
    %adjust data
    
    x = [x(1) x x(end)];
    f = [0 f 0];
    
    patch(x, f, [1 0 0])
    

    将给予:

    或者按照 Luis Mendo 的建议使用 area

    area(x, f,'FaceColor',[1 0 0])
    

    【讨论】:

    • +1。或者,您可以将area(x, f) 与原始值一起使用
    猜你喜欢
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2016-01-21
    • 2014-02-14
    • 1970-01-01
    • 2023-02-16
    相关资源
    最近更新 更多