Javascript d3版本4获取空对象
我正试图让D3V4像以前的v3一样进行基本的简单渲染,我得到的是空对象。 下面是代码的简单版本:Javascript d3版本4获取空对象,javascript,d3.js,svg,Javascript,D3.js,Svg,我正试图让D3V4像以前的v3一样进行基本的简单渲染,我得到的是空对象。 下面是代码的简单版本: <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.4.0/d3.min.js"></script> <script> var dataset = [23, 45, 66, 77, 88, 99]; var svg = d3.select("body").append("svg").at
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.4.0/d3.min.js"></script>
<script>
var dataset = [23, 45, 66, 77, 88, 99];
var svg = d3.select("body").append("svg").attr({width: 500, height: 500});
console.log('svg : '+svg);
</script>
var数据集=[23,45,66,77,88,99];
var svg=d3.select(“body”).append(“svg”).attr({宽度:500,高度:500});
log('svg:'+svg);
上述代码的结果是:
svg:null
用v3编写相同的代码,结果
svg:[对象SVGSVGElement]'
我错过了什么?我正在学习教程,其中大部分都在v3中 attr函数可以接受两个参数—属性名和属性值。请尝试以下方法:
var dataset = [23, 45, 66, 77, 88, 99];
var svg = d3.select("body").append("svg")
.attr("height", 500)
.attr("width", 500);
console.log('svg : '+svg);
尽管所有答案(包括当前接受的答案)都有相反的说法,但您可以在D3版本4.x中将对象传递给attr
和style
,只要:
- 首先,您引用“多选择”:
var svg = d3.select("body")
.append("svg")
.attrs({width: 500, height: 500});
下面是一个演示,向您展示它的工作原理:
var svg=d3.选择(“主体”)
.append(“svg”)
.attrs({宽度:500,高度:500});
log('svg:'+JSON.stringify(svg))代码>
我刚试过,效果不错。。所以我不能把我所有的属性放在一个对象中?我必须使用.attr()方法逐个指定吗?这是正确的。你可以在这里找到更多关于如何使用选择的信息:你是对的。我在这里找到了这个地址:并且使用了你提到的图书馆,这很有效。谢谢大家
d3.select("body").append("div")
.attrs({
title: "A cheery, timeless greeting.",
class: "greeting"
})
.text("Hello, world!");
var svg = d3.select("body")
.append("svg")
.attrs({width: 500, height: 500});