2016-07-29 21 views
-2
<html> 
<head> 
<script src="http://d3js.org/d3.v3.min.js"></script> 
</head> 
<body> 
<script> 
    var dset=[40,50,60]; 
    var dvar=d3.select("body") 
.append("svg") 
.attr("width", 500) 
.attr("height", 500); 


var ba=dset.selectAll("rect") 
    .data(dset) 
    .enter() 
    .append("rect") 
    .attr("width",function(d){return d;}) 
    .attr("hetight",50); 
    </script> 
    </body> 
    </html> 

Kontext: In dieser Codezeile selectAll() Funktion funktioniert nichtKann die Ausgabe von d3.js-Code nicht abgerufen werden?

+3

Statt 'dset.selectAll ("rect")' es hätte sein sollen 'dvar.selectAll ("rect")' – Cyril

Antwort

0

Sie kleine Fehler gemacht haben. Führen Sie den Code aus und es wird funktionieren.

<html> 
<head> 
<script src="http://d3js.org/d3.v3.min.js"></script> 
</head> 
<body> 
<script> 
var dset=[40,50,60]; 
var dvar=d3.select("body") 
.append("svg") 
.attr("width", 500) 
.attr("height", 500); 


var ba= dvar 
.selectAll("rect") 
.data(dset) 
.enter() 
.append("rect") 
.attr("width",function(d){return d;}) 
.attr("height",50); 
</script> 
</body> 
</html> 

In Ihrem Beispiel können Sie nur einzelne Box sehen. Wenn Sie alle Felder sehen möchten, müssen Sie den folgenden Code nach attr hinzufügen ("height", 50).

.attr("y", function(d, i){ 
    return i * 100; 
}); 

Voll Code ist wie unter: -

<html> 
<head> 
<script src="http://d3js.org/d3.v3.min.js"></script> 
</head> 
<body> 
<script> 
var dset=[40,50,60]; 
var dvar=d3.select("body") 
.append("svg") 
.attr("width", 500) 
.attr("height", 500); 


var ba= dvar 
.selectAll("rect") 
.data(dset) 
.enter() 
.append("rect") 
.attr("width",function(d){return d;}) 
.attr("height",50) 
.attr("y", function(d, i){ 
          return i * 100; 
         });; 
</script> 
</body> 
</html> 
+0

Danke für Eure Hilfe. Ich war gerade dabei, die einzelne Box zu sehen. Aber derselbe Code, den ich erwähnte, wurde in anderen Systemen ausgeführt. Wenn ich das in meinem Browser ausführte, konnte ich die Ausgabe nicht erhalten. – sharath

+0

Ich weiß nicht, wie es funktioniert, weil Sie etwas anderes definieren und etwas anderes verwenden. Ich meine Sie definieren "dVar" und verwenden dset (var ba = "dset" .selectAll ("rect")) Sie können meinen Code verwenden, sollte es auf allen Browser funktionieren –

Verwandte Themen