在Matlab中绘制线内的数据标签

时间:2015-02-23 15:08:13

标签: matlab label contour

我的问题类似于帖子:matlab curve with label

我有一些数据(使用的功能太长而无法显示在这里),它给了我2个数组:Nv4(337x1)和t(337x1)我想绘制'a = 40' 情节线上。 我应该能够使用轮廓标签,但我需要先将数据转换为矩阵格式。上面的帖子提供了一个链接来解释如何转换我们的数据,不幸的是链接已经过期,我不知道我应该如何将数据转换为。一个例子很有用!

我发布这是一个新问题,因为我没有足够的声誉来发表评论

1 个答案:

答案 0 :(得分:9)

我想还有另外一种方法,只需使用text。这是一个示例:

% Create a sample curve
x = 1:337;
y = sqrt(x);
plot(x,y);

% Define position to display the text
i = round(numel(x)/2);

% Get the local slope
d = (y(i+1)-y(i))/(x(i+1)-x(i));
X = diff(get(gca, 'xlim'));
Y = diff(get(gca, 'ylim'));
p = pbaspect;
a = atan(d*p(2)*X/p(1)/Y)*180/pi;

% Display the text
text(x(i), y(i), 'a=40', 'BackgroundColor', 'w', 'rotation', a);

结果如下:

enter image description here

最佳,