(MATLAB)如何移动绘图点的原点?

时间:2014-11-13 18:31:06

标签: matlab plot

我不确定如何提出这个问题,所以如果之前有人问过这个问题,请将我链接到任何答案。

假设我有一个图表,其中的点开始于(5,10)并且转到(10,10),但是我想移动这些点以便第一个点从(0,10)开始最多(5,10)。我该怎么做呢?或者这叫什么,所以我可以自己搜索?我仍然希望这些点相对于彼此的距离相同,但是我指定的特定位置处的一个点。

1 个答案:

答案 0 :(得分:1)

只需取出所有点数,然后减去或添加一定数量即可移动原点。因此,因为您想移动线条以使水平分量向左移动5,所以您可以将每个x坐标减去5。

因此,假设您的坐标位于xy,请执行以下操作:

final_x = x - 5;
final_y = y;

然后继续绘制这些值:

plot(final_x, final_y);

一般情况下,如果您想将点数移动一定数量,请执行以下操作:

final_x = x + x_shift;
final_y = y + y_shift;

x_shifty_shift将是您希望xy坐标移动的移动量。在这种情况下,您希望将所有内容向左移动5,因此x_shift = -5y_shift = 0。如果您要移动原点位于(0,0)的所有内容,则可以使x_shifty_shift成为xy的最小值值,或:

x_shift = min(x);
y_shift = min(y);

使用此功能可确保您的所有积分均为(0,0)