簡體   English   中英

當源保存在文件中時,不會出現D3.js圖

[英]D3.js graph does not appear when source is saved in file

HTML新手問題

我正在嘗試使用D3.js繪制圖形

我想要學習的例子可以在這里找到

我嘗試將源代碼保存到文件並在chrome和IE中打開文件,但是沒有顯示圖表。 實際上整個頁面都是空白的。

源代碼在這里

<!DOCTYPE html>
<meta charset="utf-8">
<style>

.chart rect {
  fill: steelblue;
}

.chart text {
  fill: white;
  font: 10px sans-serif;
  text-anchor: middle;
}

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

var width = 960,
    height = 500;

var y = d3.scale.linear()
    .range([height, 0]);

var chart = d3.select(".chart")
    .attr("width", width)
    .attr("height", height);

d3.tsv("data.tsv", type, function(error, data) {
  y.domain([0, d3.max(data, function(d) { return d.value; })]);

  var barWidth = width / data.length;

  var bar = chart.selectAll("g")
      .data(data)
    .enter().append("g")
      .attr("transform", function(d, i) { return "translate(" + i * barWidth + ",0)"; });

  bar.append("rect")
      .attr("y", function(d) { return y(d.value); })
      .attr("height", function(d) { return height - y(d.value); })
      .attr("width", barWidth - 1);

  bar.append("text")
      .attr("x", barWidth / 2)
      .attr("y", function(d) { return y(d.value) + 3; })
      .attr("dy", ".75em")
      .text(function(d) { return d.value; });
});

function type(d) {
  d.value = +d.value; // coerce to number
  return d;
}

</script>

看起來唯一包含的腳本是<script src="http://d3js.org/d3.v3.min.js"></script>所以我不認為我錯過了任何腳本。

您將無法在瀏覽器中打開.html文件並使腳本正常工作,您需要通過HTTP服務器提供它。 Python的內置SimpleHTTPServer是一個不錯的選擇。 只需在終端中使用HTML文件cd到目錄,然后鍵入python -m SimpleHTTPServer 您現在應該可以通過打開瀏覽器查看終端中列出的IP地址和端口來查看它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM