has the following  JSON  data format 
{
    "nodes":[
        {
            "color":"-sharp4f19c7",
            "label":"jquery",
            "attributes":{
            },
            "y":-404.26147,
            "x":-739.36383,
            "id":"jquery",
            "size":4.7252817
        },
        {
            "color":"-sharpc71969",
            "label":"backbone",
            "attributes":{
            },
            "y":-862.7517,
            "x":-134.2215,
            "id":"backbone",
            "size":6.1554675
        }
    ],
    "edges":[
        {
            "sourceID":"jquery",
            "attributes":{
            },
            "targetID":"backbone",
            "size":1
        }
    ]
} two attributes,  x  and  y , have been observed. How to dynamically generate coordinate points according to the following conditions? 
-  Origin can be configured manually. Default is 0point
-  XQuery y needs to set a boundary value, and the generated coordinate points should be contained in a rectangular space (800400) px.
-  each point has a radius r, and the resulting point cannot be covered because the radius of other points is too large
-  there may be a relationship between the generated points. If point 1is related topoint 2:
 take out the id jquery ofpoint 1 and id backboneofpoint 2, and
 add it toedges(never mind, just to clarify the following sentence!):
 related points should lean together as much as possible when generating coordinates.
 in fact, this data source is the same as here:  
 reference link:  Echart"s case of using this data  
