块注释不规范

3视图(30天)
Chowdhury王子”class=
Chowdhury王子 2018年4月1日
编辑: Chowdhury王子2018年4月2日
你好,
我试图位置标注箭头到2 d XY情节但似乎注释x和y点只能在归一化单位。我想将我的注释箭头使用X和Y值用于绘图的数据。谁能帮我把数据值归一化值吗?我经历了很多帖子在Matlab和堆栈溢出,但没有工作。下面的代码应该但是没有工作。
首先,你需要找到轴的位置在图单位规范化。幸运的是,他们默认设置为“正常化”。
axPos =得到(gca,“位置”);% # gca得到处理当前轴axPos [xMin、yMin xExtent, yExtent]
然后,你得到了限制,即最小和最大的轴。
xMinMax = xlim;yMinMax = ylim;最后,您可以计算x和y注释从情节x和y。
xAnnotation = axPos (1) + ((xPlot xMinMax (1) / (xMinMax (2) -xMinMax (1))) * axPos (3);yAnnotation = axPos (2) + ((yPlot yMinMax (1) / (yMinMax (2) -yMinMax (1))) * axPos (4);使用xAnnotation和yAnnotation作为注释的x和y坐标。”
从这段代码中我明白“xPlot”和“yPlot”代表的databvalues情节,您想要转换为规范化单位。然而,当我将“xPlot”和“yPlot”替换为具体的数据值从我的情节,如100年和200年分别然后我yAnnotation给值18和xAnnotation给值为5.3 0到1的范围内不! ! ! !
有人可以请请帮助我! !非常感谢

答案(1)

沃尔特·罗伯森”class=
沃尔特·罗伯森 2018年4月1日
//www.tatmou.com/matlabcentral/fileexchange/63760-annotate
1评论
Chowdhury王子”class=
Chowdhury王子 2018年4月2日
编辑:Chowdhury王子 2018年4月2日
嗨,我我没有完全理解这个函数。我只是感兴趣转换数据值归一化值。这部分代码从“Annotate.dsxy2figxy(变长度输入宗量)”足以将值转换为规范化的价值观?
“%从数据空间坐标变换图坐标归一化
hFig =祖先(hAx,“图”);
如果存在(“x”,“var”) %转换和返回的一对点figx = (x - axlim (1)) / axwidth * axpos (3) + axpos (1);figy = (y - axlim (3)) / axheight * axpos (4) + axpos (2);i = 1:元素个数(figx) figpos(我:)= hgconvertunits (hFig, [figx(我),figy(我),0,0),“像素”、“规范化”,hContainer);% #好< AGROW >结束varargout {1} = figpos (: 1) ';varargout {2} = figpos (:, 2) ';其他%转换和返回一个位置矩形figpos (1) = (pos (1) - axlim (1)) / axwidth * axpos (3) + axpos (1);figpos (2) = (pos (2) - axlim (3)) / axheight * axpos (4) + axpos (2);figpos (3) = pos (3) * axpos (3) / axwidth;figpos (4) = pos (4) * axpos (4) / axheight;varargout {1} = hgconvertunits (hFig figpos,“像素”、“规范化”,hContainer); end"
谢谢! !

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!