如何动态生成x,y坐标点

有如下的JSON数据格式

{
    "nodes":[
        {
            "color":"#4f19c7",
            "label":"jquery",
            "attributes":{

            },
            "y":-404.26147,
            "x":-739.36383,
            "id":"jquery",
            "size":4.7252817
        },
        {
            "color":"#c71969",
            "label":"backbone",
            "attributes":{

            },
            "y":-862.7517,
            "x":-134.2215,
            "id":"backbone",
            "size":6.1554675
        }
    ],
    "edges":[
        {
            "sourceID":"jquery",
            "attributes":{

            },
            "targetID":"backbone",
            "size":1
        }
    ]
}

观察到其中有x,y两个属性,要如何来根据下面的条件动态生成坐标点呢?

  1. 原点可以手动配置,默认为0,0
  2. x,y需要设置一个边界值,生成的坐标点要容纳在一个矩形空间(800,400)px
  3. 每一个点带有半径r,生成的点不能因为别的点半径过大而被盖住
  4. 生成的点与点之间可能存在关系,如果点1点2有关系:
    取出点1的id jquery点2的id backbone,
    添加到edges中即可(这个不用在乎,只是为了阐明后面这句话!):
    有关系的点在生成坐标的时候要尽可能的靠在一起

其实这个数据来源与这里:Echart的关系图数据格式
参考链接:Echart用到这个数据的案例

阅读 4.3k
3 个回答

x 就是横坐标。

xAxis:{
    data:[横坐标1,横坐标2]
}
series:[
    data:纵坐标的数组
]

这个你可能需要遍历原数据,分开处理了,或者后台直接 给你符合的数据格式

新手上路,请多包涵

你好,我看你提的那个echart关系图的x,y坐标动态获取,以及相关的问题,都是我目前的一些问题,你解决了吗?可以告诉我一下吗?看到可以回复一下我吗?或者加我qq2900969126,谢谢啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题