0

d3で棒グラフを作成しました

  $(document).ready(function(){
    var data = [0,20,10,60,100,75,40,20,25,2];
 var width = 300;
 var height = 300;
 var padding = 1;
    var userPerformanceChart = d3.select("#userPerformanceChart").append("svg").attr("width",width).attr("height",height);
    userPerformanceChart.selectAll("rect")
    .data(data)
    .enter()
    .append("rect")
    .attr("x",40)
    .attr("y",function(d,i){
        console.log("function being called");
        return i*(width/data.length);
    })
    .attr("width",function(d){
        return d;
    })
    .attr("height",width/data.length - padding)
    .attr("fill",function(d){
        return "rgb(0," + (d*2) + ",0)";
    });

これは私のhtmlです -

<div class="clear"></div>
<div class="horizontalMenu clear" id="quizSummaryMenu">
    <a href="#" class="quizSummaryLink" id="quizLink">Quiz</a>
    <a href="#" class="quizSummaryLink" id="historyLink">Statistis</a>
    <a href="#" class="quizSummaryLink" id="topScorersLink">Top Scorers</a>
    <a href="#" class="quizSummaryLink" id="practiceModeLink">Practice Mode</a>
    <a href="#" class="quizSummaryLink" id="editQuizLink">Edit Quiz</a>
</div>
<div class="subContainer" id="quizDisplayContainer">

<div id="userPerformanceChart"></div>

</div>

上部の四角形が表示されず、メニューの後ろに表示されているように見えますが、その理由はわかりません。誰でも助けることができますか?

4

1 に答える 1

2

実際には一番上のバーが存在します...データ配列の最初のインデックスが0であるため、最初のバーの幅はゼロに計算されます...

于 2012-11-28T04:46:02.520 に答える