Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery XY图表坐标_Jquery_Jquery Ui - Fatal编程技术网

Jquery XY图表坐标

Jquery XY图表坐标,jquery,jquery-ui,Jquery,Jquery Ui,该项目仍处于规划阶段。我正在努力理解什么是最好的方法。 如果我有一个绘图区域,有点像在图片上。然后添加jQuery UI可拖动/可拖放功能,在图表中拖动对象,然后如何记录每个对象相对于彼此的位置?直接的答案是获得坐标点,但屏幕大小可能会有所不同 有没有可能以百分比的方式来做呢 如果我保存这些结果,我将如何按从高到低的顺序显示项目列表 您可以指定一个特定大小的区域,或者在页面上显示后询问该区域的大小,从而知道该平面的部分有多大(以像素为单位)。您还将拥有所有点的坐标(以像素为单位) 因此,当您与服

该项目仍处于规划阶段。我正在努力理解什么是最好的方法。 如果我有一个绘图区域,有点像在图片上。然后添加jQuery UI可拖动/可拖放功能,在图表中拖动对象,然后如何记录每个对象相对于彼此的位置?直接的答案是获得坐标点,但屏幕大小可能会有所不同

  • 有没有可能以百分比的方式来做呢

  • 如果我保存这些结果,我将如何按从高到低的顺序显示项目列表

  • 您可以指定一个特定大小的区域,或者在页面上显示后询问该区域的大小,从而知道该平面的部分有多大(以像素为单位)。您还将拥有所有点的坐标(以像素为单位)

    因此,当您与服务器对话以保留点时,告诉它容器有多大,以及所有点相对于容器坐标系的位置;所有这些值都可以在客户端JavaScript中轻松计算

    您的服务器代码可以跟踪以上所有内容并根据需要将其映射到新的坐标系,也可以将所有内容规范化为标准坐标系并将其存储在标准坐标系中;您可以说该区域总是X服务器单位宽,并进行一些数学运算以缩放传入坐标以匹配您的标准。在服务器上使用一个标准坐标系可能会使事情变得更简单

    至于“我将如何按从高到低的顺序显示项目列表”,答案取决于您希望如何定义“最高”。如果“高度”测量Y坐标,则只需按Y坐标排序(也可能按x坐标排序,以断开连接)。如果“最高”是一个数量级的度量,那么您只需使用欧几里德范数:

    d = sqrt(x*x + y*y)
    
    按此分类。如果您只是使用震级进行排序,那么您可以通过舍弃平方根并简单地按
    x*x+y*y
    (平方根不会改变排序)或甚至曼哈顿标准(
    abs(x)+abs(y)
    )进行排序来节省一些CPU周期

    你可能迟早会在订货时遇到领带,所以你要马上处理。你想让Y优先于X还是相反?您是否有可以用作辅助排序键的字符串标签?您的选择可能取决于您计划如何列出要点:

    • 如果您将点列为(x,y)坐标,则使用x作为辅助键,因为这样对人类来说更自然
    • 如果将点列为(标签,(x,y))对,则将标签用作辅助关键点
    目标有两个:

  • 生产对人类有意义的产品
  • 面对领带时,保持一致的排序

  • 因此,只需选择一个合理的二级排序键并保持一致。

    哇,谢谢,这非常有用!对于我的项目,它不必那么精确,但是,如果我有两个具有以下坐标的“点”:dot1:X=2y=3和dot2:X=3和Y2,哪一个将首先显示?还是基于订单价值?@santa:我添加了一个关于底部打领带的更新。这是一个相当冗长的说法“要明智和始终如一”。谢谢你的补充。我的下一步是找出一种在as便携式系统中转换网格的方法。我想最大化屏幕的不动产。最有可能我会有最大宽度和最大高度,以保持它的大小合理,但总的来说,有太多的变化在屏幕尺寸方面。我想我将使用jQuery获得初始网格的宽度和高度。可能将其除以1000,并使用floor()值将位置存储为我自己的单位,以便下次加载图形时,我将反向运行,并将单位转换为pix to position。听起来不错,哈?@圣诞老人:是的,听起来不错;只需留意你的1000,以确保没有任何东西超过它(一点额外的偏执不会造成伤害),也许是
    round
    而不是
    floor
    ,但对于这样的应用程序可能不会有任何区别。哦,圣诞节我能得到一辆红色的消防车吗?