D3基础
Contents
基于前端作图的尝试
D3
D3.js
是一个JavaScript
库,它能够提供非常底层的绘图细节,这意味着高自定义度的同时也会很麻烦,平时极少需要这样,就当学习JavaScript
了吧
和许多js库一样,都在html文件的head部分导入:
<head>
<meta charset="utf-8" />
<title>D3 Page Template</title>
<script type="text/javascript" src="d3/d3.v7.js"></script>
</style>
</head>
这里的src
是本地的js
文件,也可以用网站的
d3.js
和d3.min.js
的区别在于d3.min.js
去除了空格,没法阅读但是加载起来更快
在正文中使用d3
对象的select
方法
典型的例子是:
d3.select("body")
.selectAll("div")
.data(dataset)
.enter()
.append("div")
.attr("class", "bar")
.style("height", function(d){
return d*5 + "px";
})
这里面有一些基础的js知识,我在这里不多讲,它们本来也跟d3没有关系
基本上d3就是在调用各种方法,而这些方法的返回都会是html对象的引用
var svg = d3.select("body").append("svg");
这样就后面可以单独使用了
于是乎后面就是要重点讲这些方法
select
selectAll
对于还未创建的对象,返回空(D3的特点就是要先选择将要操作的对象,再创建data
遍历传入数组,每个元素相当于一个子对象enter
为每个子对象创建占位符append
添加html元素attr
设置属性
function
的参数输入依次是:元素、下标
感觉其实使用上并不难理解,主要还是API太多了,这其实也是前端这行的特点,太多功能了
现在有了GPT相信应该不难