带有图形文件的Matlab clabel
Posted
技术标签:
【中文标题】带有图形文件的Matlab clabel【英文标题】:Matlab clabel with figure-file 【发布时间】:2016-09-17 09:06:34 【问题描述】:我遇到了问题。我在 Matlab 中打开一个图形文件 (.fig),它是一个 2D 轮廓图。我使用基于 matlab 但具有 GUI 的软件创建了该文件:maptools。我在情节中添加了等值线。每个 Isoline 都由我标记(在 matlab 中为 clabel)。现在的问题是我无法设置等值线标签之间的空间,以便每个等值线都有很多标签,例如 5。
在 Matlab 中很容易解决这个问题。只需以下方式:
[Cp hp] = contourf(x,y,levels);
clabel(Cp,hp,'LabelSpacing',150);
我现在的问题是是否可以在 Matlab 中使用openfig(anyfigure.fig)
读取图形文件并更改等值线标签之间的空间。换句话说,使用openfig()
打开的图形文件是否有任何等值线(或等值线标签)句柄
谢谢;)
【问题讨论】:
能否上传一个示例图文件。 【参考方案1】:当您使用contour
/contourf
时,您正在生成可以直接寻址的contour
object 实例。在您的图形中加载时,指定一个输出,以便您拥有图形的句柄,您可以将其与findobj 一起使用来定位您的contour
对象。这个contour
对象是clabel
的第二个输入。
例如:
filepath = 'somepath';
myfig = openfig(filepath);
# Assume only one contour object in the figure
hp = findobj(myfig.Children, 'Type', 'contour');
clabel([], hp, 'LabelSpacing', 150);
这会为sample contour
plot 生成以下内容:
请注意,根据文档,clabel
如果您有 contour
对象的句柄,则不需要轮廓矩阵输入 C
。等高线矩阵是对象的一个属性,因此 MATLAB 可以自己获取它。
【讨论】:
以上是关于带有图形文件的Matlab clabel的主要内容,如果未能解决你的问题,请参考以下文章