拉斐尔内部的JSON数据

时间:2013-06-17 14:40:45

标签: json raphael

我有JSON数据

var scores = 
    "zerozero": {
        "srl": 36.465,
        "phr": 32.933,
        "seo": 25.988,
        "hd": 47.106,
        "root": 35.623
    };

我希望使用此JSON数据来创建Raphael路径

Desiered outout: graph.path("M18,222.25L55,223.3L92").attr({stroke:"RGB(217,31,53)", "stroke-width":2});

222.25应该来自一些数学:

350-(zerozero.srl*3.5)

无论如何将这个数学放入路径?

1 个答案:

答案 0 :(得分:0)

绝对。编写一个函数将JSON数据映射到路径,然后将其提供给新的Raphael路径对象。你需要修复的zerozero对象中有一些奇怪的语法。

var graph = Raphael(0, 0, 500, 500);

var zerozero = {
        "srl": 36.465,
        "phr": 32.933,
        "seo": 25.988,
        "hd": 47.106,
        "root": 35.623
    };

var order = ["root", "srl", "phr", "seo", "hd"];

var path = "M" + order.map(function(d) { return 350-(zerozero[d]*3.5); }).join("L");

graph.path("M18,222.25L55,223.3L92").attr({stroke:"RGB(217,31,53)", "stroke-width":2});

http://jsfiddle.net/HMJkT/