1

我在 Matlab 中使用“拟合”绘制了数据点并在它们之间拟合了一条指数曲线。问题是,通过拟合功能,我得到了我想要绘制的拟合线,而且在我的常规标记之上还有额外的标记。我通过在不需要的标记上绘制想要的标记来解决这个问题,这样它们就看不到了。现在来解决问题。当我想展示传说时,这些点也在那里。我如何从图例中删除标记而不删除拟合线,因为它们都隐藏在拟合函数中?我可以停止“适合”绘制不需要的标记吗?所以,我想删除下图中名为“hoff”的蓝点。

在此处输入图像描述

4

1 回答 1

2

您可以通过手动省略您不想出现在图例中的线句柄来省略图例条目。试试这个:

%if you plot something, that you want showing up in the legend, save its handle:
h_line = plot(x,y)
%you dont want to show up this line? dont do anything, just plot it:
plot(myMarker)
%then set the legend-> you can add the text for your legend-entries with 
%a cell-array   containing the strings you want to show up:
legend([h_line another_line],{'Text1' 'Text2'})

用这个例子(见评论)我来到了这个解决方案:

close all
X=[1:10];
Y=X*0.5+0.1;
ft = fittype('poly2'); 
f = fit(X', Y',ft); 
ha=plot(f)
hold on
hc=plot(X,Y)
hb=errorbar(X, Y, X*0.1, 'squarek','MarkerFaceColor','k','markersize',5)
hleg1 = legend([ha hc],{'hnh','ghg'});

-> 这只是关于拆分绘图命令。希望有帮助...

结果应如下所示:

在此处输入图像描述

于 2013-08-07T13:52:41.827 回答