d3.scale离线时不起作用?

时间:2016-08-09 04:19:27

标签: d3.js

这不能脱机工作,当互联网连接可用时,它可以正常工作:

<!doctype html>
<html>
<head>
  <title>d3 SVG barchart</title>
    <script src="http://d3js.org/d3.v3.min.js"></script><!--Line A-->
    <script src="d3.js"></script>       
    <script src="d3.min.js"></script>
</head>
<body>
    <script>
    var dataArray = [20, 40, 50, 60];
    var width=500;
    var height=500;

    var canvas = d3.select("body")
              .append("svg")
              .attr("width", width)
              .attr("height", height);

    var widthScale = d3.scale.linear()
                     .domain([0, 60])
                     .range([0, width]);

    var bars = canvas.selectAll("rect")
                .data(dataArray)
                .enter()
                    .append("rect")
                    .attr("width", function(d){
                                    return widthScale(d);
                                })
                    .attr("height", 50)
                    .attr("y", function(d, i){
                                return i*100;
                        });
    </script>
</body>
</html>

似乎d3.js库的缩放操作在我离线时(或者当A行放入注释块时)不起作用,为什么?是否有适用于离线用户的d3.js版本?

我喜欢离线snap.svg做法(我没有私人互联网连接可用),有没有办法用d3.js做到这一点?

2 个答案:

答案 0 :(得分:2)

1.下载并在资产文件夹中添加d3.v3.min.js

2.取出

<script src="http://d3js.org/d3.v3.min.js"></script><!--Line A-->
<script src="d3.js"></script>       
<script src="d3.min.js"></script>

3.add

 <script src="d3.v3.min.js"></script>

然后d3图将在离线状态下工作。

答案 1 :(得分:1)

你的问题在这里

    <script src="http://d3js.org/d3.v3.min.js"></script><!--Line A-->
    <script src="d3.js"></script>       
    <script src="d3.min.js"></script>

下载

    <script src="http://d3js.org/d3.v3.min.js"></script>

在本地正确引用并删除:

    <script src="d3.js"></script>       
    <script src="d3.min.js"></script>