带有图形文件的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的主要内容,如果未能解决你的问题,请参考以下文章

从 Matlab P 文件中保存图形 EPS 而不显示

matlab中mat文件怎么转化为图形文件

Matlab 图形中的半透明标记

在 MATLAB 中自动将图形写入文件

如何将matlab图形转化成eps

MATLAB中图形背景颜色设置问题