gpt4 book ai didi

D3.js 从P元素的创建开始(显示可加载数据)

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章D3.js 从P元素的创建开始(显示可加载数据)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

D3是一个基于数据操作的可视化js库,认识d3,就从最基础的显示可加载数据谈起.

html的基本框架不多说,先上代码再解释:

新建一个test目录,在该目录下创建demo和d3两个文件夹。demo存放要编写的html文件 , d3存放d3.v3.js 。

在demo文件夹下新建indexP.html,将下面代码复制其中,双击在浏览器打开查看效果.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< title >D3: Setting paragraphs' style conditionally, based on data</ title >
< script type = "text/javascript" src = "../d3/d3.v3.js" ></ script >
</ head >
< body >
< script type = "text/javascript" >
 
var dataset = [ 5, 10, 15, 20, 25 ];
 
d3.select("body").selectAll("p")
.data(dataset)
.enter()
.append("p")
.text(function(d) {
return "I can count up to " + d;
})
.style("color", function(d) {
if (d > 15) { //Threshold of 15
return "red";
} else {
return "black";
}
});
 
</ script >
</ body >
</ html >

这个简单demo实现的功能:在body中添加p标签,在p标签中添加d3加载的文本内容,并根据函数设置条件对文字颜色进行调整.

上面的网页代码,body里面的js代码,是展现到页面的数据操作。以后的不少例子,只要修改这一块便可,其他部分可看做页面框架.

这里的内容上篇文章大体都讲到了,使用d3的连缀,将同一对象的一步步数据操作连接起来,便于维护.

d3.select("body") 选择body元素,并连缀到下一方法 。

.selectAll("p") 选中所有段落 。

.data(dataset) 解析加载数组数据,该数组长度是5, 以后连缀的每个方法都将执行五次,按数组下标依次针对数组元素执行方法操作 。

.enter() 创建新的绑定数据的占位元素(相当于创建暂时不知名标签5个).

创建的个数 要根据选择的已有标签数和加载的数据数组长度决定.

如本例,如果body中p标签少于5个,就创建(现在body中p为0个,故创建5个), 。

多于就不创建,最后的占位元素和p元素总个数要为5.

.append("p") 将占位元素改为p元素 。

.text(function(d) {}) 对每个段落的显示内容,写个匿名函数控制,一般返回字符串。在该方法你可以 任意编写, 。

本例让他每段落输出I can count up to 加上相应数组元素值 。

函数格式是固定的,function(d)只有这样,才能将数据加载到函数中.

.style("color","") 设置css的文本颜色属性,同text一样,设置的字符串都可以用function进行你想要的操作。本例中,如果该段落所对应的传入数值大于15,就把该行变红 。

最后,我们看到的效果就是如图:

D3.js 从P元素的创建开始(显示可加载数据)

本文就介绍到这里,下文介绍如何在SVG中绘制圆,以及圆圆相连的简单用力图 。

最后此篇关于D3.js 从P元素的创建开始(显示可加载数据)的文章就讲到这里了,如果你想了解更多关于D3.js 从P元素的创建开始(显示可加载数据)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com