我遇到了问题。我在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()
谢谢;)
答案 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
生成以下内容:
请注意,根据文档,clabel
如果您拥有C
对象的句柄,则不需要轮廓矩阵输入contour
。轮廓矩阵是对象的属性,因此MATLAB可以自己获取它。