Matlab clabel与图文件

时间:2016-09-17 09:06:35

标签: matlab spacing

我遇到了问题。我在Matlab中打开一个图形文件(.fig),这是一个2D contourf-plot。我使用基于matlab但具有GUI的软件创建了该文件:maptools。我在情节中添加了Isolines。每个Isoline都由我标记(matlab中的clabel)。现在的问题是我无法在等值线的标签之间设置空间,以便每个等值线都有很多标签,例如5。

在Matlab中,很容易解决这个问题。只需以下方式:

[Cp hp] = contourf(x,y,levels);

clabel(Cp,hp,'LabelSpacing',150);

我现在的问题是,是否可以使用openfig(anyfigure.fig)读取Matlab中的图形文件,并更改等值线标签之间的间距。换句话说,是否有使用openfig()

打开的图形文件的等值线(或等值线标签)句柄

谢谢;)

1 个答案:

答案 0 :(得分:0)

当您使用contour / contourf时,您正在生成可以直接解决的context个实例。在图中加载时,请指定一个输出,以便拥有图形的句柄,您可以使用contour object来定位contour对象。此contour对象是findobj的第二个输入。

例如:

filepath = 'somepath';
myfig = openfig(filepath);
# Assume only one contour object in the figure
hp = findobj(myfig.Children, 'Type', 'contour');
clabel([], hp, 'LabelSpacing', 150);

clabel生成以下内容:

sample contour plot

请注意,根据文档,clabel如果您拥有C对象的句柄,则不需要轮廓矩阵输入contour。轮廓矩阵是对象的属性,因此MATLAB可以自己获取它。