【问题标题】:Transforming data along (x,y) coordinate axis?沿(x,y)坐标轴转换数据?
【发布时间】:2012-09-17 18:49:30
【问题描述】:

我有这样的数据

x 轴数据值 -20.49, -12.23, -9.99, -1.00 0 , 1.12, 2.23, 3.45, 4.56, 8.99, 20.99, 30.23

y 轴数据值 10,20,20,40,50,60........

我想把上面给定的数据转换成xy坐标系。

请看图。

例如:

沿 x 轴 (min, max ) 数据值 (-20.49, 30.23),

沿 y 轴 (min, max ) 数据值 (10,60)

现在如果我想在图像中绘制数据(-20.49, 10), X坐标将是= 200, 和 Y 坐标将是 = 220。

像这样我想绘制所有数据适合矩形范围。

希望这能提供所有细节

谢谢

【问题讨论】:

  • 你的问题非常模糊,没有意义。您想在动作脚本中绘制这些点吗?
  • 好的我已经编辑了Q,请看一下
  • 你的问题仍然没有任何意义。如果需要将 X 和 Y 值映射到给定的坐标系,则需要指定应该如何完成。虽然有任意方法可以做到这一点,但结果是任意的。在这种情况下,您是否需要 min(x, y) 映射到 (200, 220) 和 max(x, y) 映射到 (320, 350)?
  • 看 x 坐标从 @ x=200 开始,到 @x=320 结束。现在沿 x 轴相差 120。就像y轴差130一样。现在只有在这个范围内我需要绘制数据点。

标签: actionscript-3 flash graph coordinates


【解决方案1】:

这更多的是数学问题,与任何编程语言无关。谈到 Actionscript 3,它的 Y 轴是从上到下,而不是从下到上。无论如何:如果您想将轴上的两个点映射到您选择的屏幕坐标,请将xmin 记录为较小的原始值,xmax 记录为较大的原始值,并将坐标记录为xleftxright。然后,当您需要接收给定x 的屏幕坐标时,您可以将xcoord 值计算为:

xcoord = xleft + (x - xmin)*(xright - xleft)/(xmax - xmin);

类似的方法会为您提供正确的 Y 轴值。

【讨论】:

  • 太好了,谢谢!。假设如果我将 X 轴按 5 个刻度划分,并且每个刻度落在 b/w xright 和 xleft 中,则只需再过一周。什么改变,我可以在上面的公式中做出改变
  • 您首先确定您的刻度在本地的坐标,它们将是xmin+(xmax-xmin)*currentTick/numberOfTicks,然后使用它们来确定该刻度的放置位置。无需更改公式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2011-03-02
  • 2015-12-31
  • 1970-01-01
相关资源
最近更新 更多