2013-03-10 57 views
0

我是D3JS的新手。 我試圖運行由http://www.d3noob.org提供的圖形腳本,但它不能在我的網站上運行。未捕獲的SyntaxError:運行圖時意外的令牌非法

當運行下面的腳本:

<!DOCTYPE html> 
<meta charset="utf-8"> 
<style> 
body { font: 12px Arial;} 
path { 
stroke: steelblue; 
stroke-width: 2; 
fill: none; 
} 
.axis path, 
.axis line { 
fill: none; 
stroke: grey; 
stroke-width: 1; 
shape-rendering: crispEdges; 
} 
</style> 
<body> 
<script type="text/javascript" src="d3/d3.js"></script> 
<script> 
var margin = {top: 30, right: 20, bottom: 30, left: 50}, 
width = 600 - margin.left - margin.right, 
height = 270 - margin.top - margin.bottom; 
var parseDate = d3.time.format("%d-%b-%y").parse; 
var x = d3.time.scale().range([0, width]); 
var y = d3.scale.linear().range([height, 0]); 
var xAxis = d3.svg.axis().scale(x) 
.orient("bottom").ticks(5); 
var yAxis = d3.svg.axis().scale(y) 
.orient("left").ticks(5); 
var valueline = d3.svg.line() 
.x(function(d) { return x(d.date); }) 
.y(function(d) { return y(d.close); }); 
var svg = d3.select("body") 
.append("svg") 
.attr("width", width + margin.left + margin.right) 
.attr("height", height + margin.top + margin.bottom) 
.append("g") 
.attr("transform","translate(" + margin.left + "," + margin.top + \ 
")"); 
// Get the data 
d3.tsv("data/data.txt", function(error, data) { 
data.forEach(function(d) { 
d.date = parseDate(d.date); 
d.close = +d.close; 
}); 
// Scale the range of the data 
x.domain(d3.extent(data, function(d) { return d.date; })); 
y.domain([0, d3.max(data, function(d) { return d.close; })]); 
svg.append("path") // Add the valueline path. 
.attr("class", "line") 
.attr("d", valueline(data)); 
svg.append("g") // Add the X Axis 
.attr("class", "x axis") 
.attr("transform", "translate(0," + height + ")") 
.call(xAxis); 
svg.append("g") // Add the Y Axis 
.attr("class", "y axis") 
.call(yAxis); 
}); 
</script> 
</body> 

我收到以下錯誤信息:

未捕獲的SyntaxError:意外的標記非法

出了問題,在第39行:

。 attr(「transform」,「translate(」+ margin.left +「,」+ margin.top + \

+0

代碼從PDF複製,會是什麼原因呢? – csnake 2013-03-10 16:02:32

回答

1

相反的:

.attr("transform","translate(" + margin.left + "," + margin.top + \ 
")"); 

嘗試:

.attr("transform","translate(" + margin.left + "," + margin.top + ")"); 
+0

偉大的,現在它的工作原理是什麼,它不適用於\? – csnake 2013-03-10 17:52:34

+0

只是因爲它沒有任何意義 – victorsc 2013-03-10 19:00:14

+0

嘗試通過逐行寫入而不是從pdf複製來理解代碼 – victorsc 2013-03-10 19:02:47

相關問題