避免轮廓线标签重叠

时间:2014-08-16 15:08:32

标签: matlab plot contour contourf

我有这样的代码

[Cp hp] = contourf(log2(S_pr),log2(C_pr),ClassRateMatr_pr);

clabel(Cp,hp,'LabelSpacing',150,'BackgroundColor',[1 1 1],'fontsize',16);

这给了我这个 enter image description here

正如您所看到的那样,标签重叠的方式使其无法阅读,

我如何随意放置它们或使用其他技巧?

谢谢,

1 个答案:

答案 0 :(得分:1)

我担心没有方便的方法来做你想做的事。

如果您无法使用'LabelSpacing'设法获得所需的结果,则可能没有其他简单方法可以自动且可靠地实现正确设置标签。

我建议手动完成:

[C,h] = contour(X,Y,Z,obj_Z);
t = clabel(C,h,'manual','LabelSpacing',2000,'FontSize',8)

现在弹出图形窗口时,会出现十字准线,您可以单击每条轮廓线以准确指定标签的放置位置。通过一些练习,你可以很快完成它。 我希望你没有这样的数百个情节;) 只需在打印最终图表之前准备好所有内容,然后将其设置为'manual'作为最后一步。