D3.js

D3.js\u662f\u4e00\u4e2a\u7528\u4e8e\u64cd\u4f5c\u5e94\u7528\u7684\u6570\u636e\u7684\u5f15\u7528\u7a0b\u5e8f\u8bed\u8a00

D3.js\u5f88\u5bb9\u6613\u4f7f\u7528。

如何使用 D3.js?

\u5982\u679c\u60a8\u9700\u8981\u5728\u7f51\u9875\u4e2d\u4f7f\u7528\u4ee3\u7801\u3002\u8bf7\u6dfb\u52a0\u5f15\u7528\u94fe\u63a5

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

\u8be5\u811a\u672c\u9009\u62e9\u4f9d\u4e3b\u5143\u7ec4\u5e76\u5df2\u5176\u5df2\u6709\u6587\u672c\u7684\u6bb5\u6bb5\u8f6c\u52a0

d3.select("body").append("p").text("Hello World!");

تجربة بنفسك

\u6279\u70b9\u56fe

\u5b9e\u4f8b

//\u8bbe\u7f6e\u5e73\u65b9
const xSize = 500;
const ySize = 500;
const margin = 40;
const xMax = xSize - margin*2;
const yMax = ySize - margin*2;
//\u521b\u5eFA\u968f\u673a\u70b9
const numPoints = 100;
const data = [];
for (let i = 0; i < numPoints; i++) {
  data.push([Math.random() * xMax, Math.random() * yMax]);
}
//\u5c06\u5f15\u7528\u7684\u5b57\u7b26\u4f20\u9012\u5230\u9875\u9762
const svg = d3.select(\"#myPlot\")
  .append(\"svg\")
  .append(\"g\")
  .attr(\"transform\",\"translate(\" + margin + ",\" + margin + ")\");
// محور X
const x = d3.scaleLinear()
  .domain([0, 500])
  .range([0, xMax]);
svg.append("g")
  .attr("transform", "translate(0," + yMax + ")")
  .call(d3.axisBottom(x));
// محور Y
const y = d3.scaleLinear()
  .domain([0, 500])
  .range([ yMax, 0]);
svg.append("g")
  .call(d3.axisLeft(y));
// نقطة
svg.append('g')
  .selectAll("dot")
  .data(data).enter()
  .append("circle")
  .attr("cx", function (d) { return d[0] } )
  .attr("cy", function (d) { return d[1] } )
  .attr("r", 3)
  .style("fill", "Red");

تجربة بنفسك