将绘图坐标映射到Matlab中的图形坐标

时间:2015-01-05 11:04:30

标签: matlab coordinate-transformation

简单说明一下,如何在Matlab中将用于绘图的坐标系中的点映射到数字坐标

有关更详尽的说明,请考虑以下虚拟代码:

figure(1);
axes('position', [0.1 0.1 0.8 0.8]); % define position of axis in fig coords
hold on;
box on;
xlim([0, 2*pi]);
ylim([-1.1, 1.1]);

% plot something
t = 2*pi*linspace(0,1,100);
plot(t, sin(t));

轴的极限是[0,2 * pi]和[-1.1,1.1]。这些是我所指的绘图坐标。轴的位置由图形坐标定义。

我想说我想找出给定点的数字坐标,我该怎么办?例如,点[pi,0]应该在精确的中心(在[0.5 0.5]处)。但是什么'例如,[pi / 2,1]的数字坐标?

我可以使用已知的轴限制和轴的位置轻松编写一个在这种特定情况下工作的例程。但是,我正在寻找更通用的解决方案。如果我的情节使用对数刻度怎么办?如果它是3D情节怎么办?等等我想象Matlab有一个简单的例行程序,但我还没能找到它。

此外,是否存在相反方向的例程,从图形坐标到绘图坐标的映射?

修改

我最终想要实现的目标是花哨的数字。更具体地说,我想把注释放在准确的位置。

0 个答案:

没有答案