我正在尝试使用ViewBox和preserveAspectRatio在窗口大小发生变化时自动调整我的d3.svg.arc ...
var svg = d3.select("#chart").append("svg")
.append("g")
.attr("viewBox", "0 0 700 500")
.attr("preserveAspectRatio", "xMinYMin meet")
.attr("transform", "translate(" + r + "," + r +") rotate(180) scale(-1, -1)");
Run Code Online (Sandbox Code Playgroud)
我有点困惑为什么它根本不起作用 - 我也试图将保存设置为"无"并删除我拥有的任何设置边距.但仍然没有运气 - 任何帮助或建议将不胜感激.
这是一个例子:http://jsfiddle.net/xwZjN/53/
我目前正在练习使用Javascript/Dojo.但是,我有一个我无法解决的错误:
未捕获的SyntaxError:意外的令牌o
我已经快速解决了我的问题:
var data = {
"list": {
"1": {
"Relevance": "Low",
"id": 1,
"Name": "Inorganic"
},
"2": {
"Relevance": "Low",
"id": 2,
"Name": "Mobile"
}
}
}
var jsonData = JSON.parse(data);
alert(jsonData.list[1].Name);
Run Code Online (Sandbox Code Playgroud)
它专门针对以下行:
var jsonData = JSON.parse(data);
Run Code Online (Sandbox Code Playgroud)
我想知道为什么这是一个错误以及我将如何解决它.
我有一组单独的json数据,它们每个都有一个时间戳,表示它是以这种确切的格式创建的,例如
[ {"Name": "Jake", "created":"2013-03-01T19:54:24Z" },
{"Name": "Rock", "created":"2012-03-01T19:54:24Z" } ]
Run Code Online (Sandbox Code Playgroud)
因此,我希望在一个函数中使用"created"来计算如果数据从今天开始输入60天或更少,它将以斜体显示.但是,我试过的功能没有效果.我试图在几毫秒内完成计算:
node.append("text")
.text(function(d) { return d.Name; })
.style("font", function (d)
{ var date = new Date(d.created);
var k = date.getMilliseconds;
var time = new Date ();
var n = time.getTime();
if(k > (n - 5184000) ) {return " Arial 11px italic"; }
else { return " Arial 11px " ; }
})
Run Code Online (Sandbox Code Playgroud)
我很好奇我是否真的将数据转换为毫秒.另外,如果我以毫秒为单位获取今天的日期.
提前致谢
编辑:示例 - http://jsfiddle.net/xwZjN/84/