如何在.js文件中更改d3.js饼图的代码

时间:2014-11-22 22:58:24

标签: javascript jquery d3.js charts

我是d3.js的新手。我正在尝试制作一个simle饼图程序。我创建了一个单独的pie.js文件,其中我编写了饼图代码。我把它链接到html文件chart.html。它的作品!

问题:我想在chart.html页面中手动更改饼图值。就像在html文件中加载pir图表时我想在此之前修改值。

任何人都可以建议我应该做些什么吗?

chart.html <html lang="en"> <head> <meta charset="utf-8"> <title>D3: Pie layout</title> <script type="text/javascript" src="http://d3js.org/d3.v3.min.js"></script> <script type="text/javascript" src="lib/pie.js"></script> </head> <body></body> </html>

pie.js `

        //Width and height
        var w = 300;
        var h = 300;

        var dataset = [ 5, 10, 20, 45, 6, 25 ];

        var outerRadius = w / 2;
        var innerRadius = 0;
        var arc = d3.svg.arc()
                        .innerRadius(innerRadius)
                        .outerRadius(outerRadius);

        var pie = d3.layout.pie();

        //Easy colors accessible via a 10-step ordinal scale
        var color = d3.scale.category10();

        //Create SVG element
        var svg = d3.select("body")
                    .append("svg")
                    .attr("width", w)
                    .attr("height", h);

        //Set up groups
        var arcs = svg.selectAll("g.arc")
                      .data(pie(dataset))
                      .enter()
                      .append("g")
                      .attr("class", "arc")
                      .attr("transform", "translate(" + outerRadius + "," + outerRadius + ")");

        //Draw arc paths
        arcs.append("path")
            .attr("fill", function(d, i) {
                return color(i);
            })
            .attr("d", arc);

        //Labels
        arcs.append("text")
            .attr("transform", function(d) {
                return "translate(" + arc.centroid(d) + ")";
            })
            .attr("text-anchor", "middle")
            .text(function(d) {
                return d.value;
            });

`

2 个答案:

答案 0 :(得分:1)

很容易。只需将数据集放在文件load.it之前就可以了。

<script> dataset=[1,2,3,4];</script> <script> your link <script>

答案 1 :(得分:1)

<html lang="en">
<head>
<meta charset="utf-8">
<title>D3: Pie layout</title>
<script type="text/javascript" src="http://d3js.org/d3.v3.min.js"></script>
<script>dataset = [1, 2, 3, 4, 5];</script>
</head>
<body>
<script type="text/javascript" src="lib/pie.js"></script>
</body>
</html> 

并删除var dataset = [5,10,20,45,6,25];来自档案。