Javascript 未捕获的语法错误:运行图形时意外标记非法

Javascript 未捕获的语法错误:运行图形时意外标记非法,javascript,d3.js,Javascript,D3.js,我是D3JS的新手。 我试图运行由提供的图形脚本,但它在我的站点上不起作用 运行以下脚本时: <!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; stro

我是D3JS的新手。 我试图运行由提供的图形脚本,但它在我的站点上不起作用

运行以下脚本时:

<!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>

正文{font:12px Arial;}
路径{
笔画:钢蓝;
笔画宽度:2;
填充:无;
}
.轴线路径,
.轴线{
填充:无;
笔画:灰色;
笔画宽度:1;
形状渲染:边缘清晰;
}
var margin={顶部:30,右侧:20,底部:30,左侧:50},
宽度=600-边距。左侧-边距。右侧,
高度=270-margin.top-margin.bottom;
var parseDate=d3.time.format(“%d-%b-%y”).parse;
var x=d3.time.scale().range([0,width]);
变量y=d3.scale.linear().range([height,0]);
var xAxis=d3.svg.axis().scale(x)
.方向(“底部”)。刻度(5);
var yAxis=d3.svg.axis().scale(y)
.方向(“左”)。勾号(5);
var valueline=d3.svg.line()
.x(函数(d){返回x(d.date);})
.y(函数(d){返回y(d.close);});
var svg=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.附加(“g”)
.attr(“变换”、“平移”(+margin.left+)、“+margin.top+\
")");
//获取数据
d3.tsv(“data/data.txt”,函数(错误,数据){
data.forEach(函数(d){
d、 日期=解析日期(d.date);
d、 close=+d.close;
});
//缩放数据的范围
x、 域(d3.extent(数据,函数(d){返回d.date;}));
y、 域([0,d3.max(数据,函数(d){返回d.close;})];
append(“path”)//添加valueline路径。
.attr(“类”、“行”)
.attr(“d”,valueline(数据));
svg.append(“g”)//添加X轴
.attr(“类”、“x轴”)
.attr(“变换”、“平移(0)”、“高度+”)
.呼叫(xAxis);
svg.append(“g”)//添加Y轴
.attr(“类”、“y轴”)
.呼叫(yAxis);
});
我收到以下错误消息:

未捕获的语法错误:意外标记非法

第39行出错:

.attr(“转换”、“平移”(+margin.left+)、“+margin.top+\

而不是:

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


代码是从PDF复制的,这可能是原因吗?太好了,现在它可以工作了,它不使用\的原因是什么?仅仅因为它不具有任何敏感性,通过逐行编写而不是从PDF复制来理解代码\在JavaScript中不需要继续一行。
.attr("transform","translate(" + margin.left + "," + margin.top + ")");