在 matlab 中隐藏和打印绘图

问题描述

我在 matlab 中有一个脚本,用于打印函数 f(x) 的 n 导数。该图的目的是以图形方式“猜测”未知函数根的多重性。显然,如果我知道根,我可以简单地计算那个点的导数,但在我的情况下,我将输入的函数不会有一个容易找到的根,所以我必须使用数值方法来找到它们,并且需要弄清楚多重性。到目前为止一切顺利,我的代码中的所有内容都按预期工作,并且该图具有原始函数,并在其上绘制了所有 n 个导数。现在就我而言,图表变得有点混乱。有没有办法在绘制后禁用/启用特定图形?例如,假设我有一个 f(x)、f'(x) 和 f''(x) 的图,是否可以禁用图 "f''(x)" 所以只有 f(x) 和 f '(x) 通过绘图界面保留在绘图上(不添加修改我的代码)?然后,如果我想重新启用 f''(x) 并再次通过绘图界面删除 f'(c) 。我查看了不同的菜单,但找不到删除特定图(或稍后添加)的方法。我只是想隐藏它,以便我可以在不同导数相交或重叠的地方读取图形,但我也不希望这些图位于不同的子图上。谢谢!我会发布一张图片,但不幸的是我没有声誉。

解决方法

您可以使用“可见”属性:

x=-14:15;
h_ax=axes();
hold(h_ax,'on');
h_line=cell([3 1]);
for i=1:3
  y=rand(30,1);
  h_line{i}=plot(h_ax,x,y);
end
legend(h_ax,{'f','f^\prime','f^{\prime\prime}'});

set(h_line{2},'Visible','off');

图例表明禁用的图存在,但被隐藏。要在以后再次显示该图,请使用:set(h_line{2},'on');