当前位置: 首页 > 编程笔记 >

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

锺离浩慨
2023-03-14
本文向大家介绍D3.js 从P元素的创建开始(显示可加载数据),包括了D3.js 从P元素的创建开始(显示可加载数据)的使用技巧和注意事项,需要的朋友参考一下

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

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

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

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

<!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,就把该行变红

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

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

 类似资料:
  • 本文向大家介绍d3.js 使用D3 js创建SVG元素,包括了d3.js 使用D3 js创建SVG元素的使用技巧和注意事项,需要的朋友参考一下 示例 尽管D3并非专门用于处理SVG元素,但它已广泛用于创建和处理基于SVG的复杂数据可视化。D3提供了许多强大的方法,可帮助轻松创建各种几何SVG结构。 建议首先了解SVG规范的基本概念,然后使用大量的D3 js示例创建可视化效果。 D3 JS范例 SV

  • 本文向大家介绍d3.js 元素,包括了d3.js 元素的使用技巧和注意事项,需要的朋友参考一下 示例 <rect> 代表矩形,除了笔触和填充之类的美学属性外,矩形还应通过位置和大小来定义。 至于位置,由x和y属性确定。该位置相对于矩形的父级。而且,如果您未指定x或y属性,则相对于父元素,默认值为0。 在指定位置或矩形的“起点”之后,接下来就是指定尺寸,如果您想在画布上实际绘制某东西,这是必不可少的

  • 问题内容: 我正在尝试用Java中的TextViews创建LinearLayout,因为元素的数量是动态指定的,所以使用XML对我来说不可行。这是我的代码的一些示例: 当我启动此活动时,它不会显示此TextView,但也不会显示错误。有人有建议吗? 问题答案: 试试这个,

  • HTML会忽略在文本编辑器中输入的回车符合其他额外的空格,要在网页中开始一个新的段落,应该使用p元素(p 是 paragraph 的缩写)。 p元素是一个有特定语义的元素,以 <p> 标签开始,以 </p> 标签结束。但是,当 p元素后紧跟 address、article, aside、blockquote、div、dl、fieldset、footer、form、h1~h6、header、hgro

  • 返回从右开始删除 n 个元素的新数组。 检查 n 是否小于给定数组的长度,并且使用 Array.slice() 来从右开始删除指定数量的元素。 const dropRight = (arr, n = 1) => arr.slice(0, -n); dropRight([1, 2, 3]); // [1,2] dropRight([1, 2, 3], 2); // [1] dropRight([1

  • 本文向大家介绍JS动态创建DOM元素的方法,包括了JS动态创建DOM元素的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS动态创建DOM元素的方法。分享给大家供大家参考。具体如下: 近日,因工作需要,需要通过点击某个元素后, 动态创建一个DOM元素并显示,因此写了一些相关的JS函数,在此记录,以作备忘: 使用示例: 希望本文所述对大家的javascript程序设计有所帮助。