我的问题是类似的帖子:matlab curve with label绘制数据标签行中在Matlab
我有一些数据,这给了我2门阵列(使用太长时间在这里展示的功能获得性):NV4(337x1)和t(337x1),我想绘制'a = 40'上的情节线。 我应该可以使用轮廓标签,但是我需要先将数据转换为矩阵格式。上面的帖子给出了一个链接来解释如何转换我们的数据,不幸的是链接已过期,我不知道我应该如何将数据转换为。一个例子会很有用!
我张贴这是一个新的问题,因为我没有足够的信誉发表评论
我的问题是类似的帖子:matlab curve with label绘制数据标签行中在Matlab
我有一些数据,这给了我2门阵列(使用太长时间在这里展示的功能获得性):NV4(337x1)和t(337x1),我想绘制'a = 40'上的情节线。 我应该可以使用轮廓标签,但是我需要先将数据转换为矩阵格式。上面的帖子给出了一个链接来解释如何转换我们的数据,不幸的是链接已过期,我不知道我应该如何将数据转换为。一个例子会很有用!
我张贴这是一个新的问题,因为我没有足够的信誉发表评论
我想有另一种方式,只需用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);
这里是结果:
最佳,
谢谢你,我用你的招数!然而,它没有正确的旋转工作,所以我不得不手动改变它,并且我生成了代码(文件 - >生成代码)以获得确切的位置,以便下次我不必手动完成。如果有人知道如何去做,我仍然想学习如何用Clabel做到这一点,但是这种技术现在很适合我!谢谢 ! – user3767071 2015-02-23 16:07:05
如果数据有噪音,旋转设置可能确实失败。也许你可以尝试在分化之前“平滑”你的数据以获得正确的角度。 – Ratbert 2015-02-23 16:23:58
是的!我在我的x和y数据上使用了平滑(我现在没有提及!),旋转现在适合我的曲线!优秀 ! – user3767071 2015-02-23 16:32:04
你能提供数据的最小的样品吗?另外,如果不在矩阵内,它们的格式是什么? – 2015-02-23 15:18:48