radialLine 径向线生成器

radialLine 径向线生成器

使用默认的角度半径访问器,和插值器函数构造一个 径向线生成器,返回的函数用以生成开放分段线性曲线、折线。
它和line生成器很相似,只是将line的x,y访问其换位angle,radius生成器。可以将它想想成一个圆规在画圆,但是在划的过程中不停的改变角度。 radius访问器和angle访问器结合使用,表示在特定的角度上的半径是多少。它们一般都接受函数(也可以写成常数)。
注意:0°在12点钟方向。

数据格式

每个点出的半径和据12点钟的角度组成的对象数组。

  1. var data = [
  2. {r:100,angle:0},
  3. {r:100,angle:per*1},
  4. {r:100,angle:per*2},
  5. {r:100,angle:per*3},
  6. {r:100,angle:per*4},
  7. {r:100,angle:per*5},
  8. {r:100,angle:per*6}
  9. ];

生成构造器

  1. var radialLine = d3.radialLine()
  2. .radius(function (d) { return d.r;})
  3. .angle(function(d){ return d.angle;});

这是构造器的最简形式了,需要指定radiusangle的生成方式。
例子请移步这里

我们还可以对给构造器进行一些curve限制已达到不同的效果……

  1. var radialLine = d3.radialLine()
  2. .radius(function (d) { return d.r;})
  3. .angle(function(d){ return d.angle;})
  4. .curve(d3.curveBasis);
时间: 2024-11-17 07:36:04

radialLine 径向线生成器的相关文章

【D3 API 中文手册】提交记录

[D3 API 中文手册]提交记录 声明:本文仅供学习所用,未经作者允许严禁转载和演绎 <D3 API 中文手册>是D3官方API文档的中文翻译.始于2014-3-23日,基于VisualCrew小组的六次协作任务之上,目前已经大致翻译完毕,将陆续向官网提交D3 API 中文版. 本文主要内容有: 列举初版翻译/校对人员列表 记录中文翻译的官网提交情况 提供校对联系方式 提供D3 API简版翻译 翻译/校对人员列表 翻译人员列表 API项目 文档页数 单词数 翻译 校对 core.select

径向面积生成器

径向面积生成器→d3.radialArea,它构造出的函数用于生成径向面积的路径字符串(path标签的d属性值). 数据格式 和径向线的数据结构类似,只是将其半径分为内半径和外半径两个,如下所示: var data = [ {innerRadius:50, outerRadius:100, angle:0}, {innerRadius:50, outerRadius:100, angle:per}, {innerRadius:50, outerRadius:100, angle:2*per},

Day4 - 迭代器&amp;生成器、装饰器、Json &amp; pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青

装饰器、生成器、迭代器

装饰器的前奏 装饰器:本质是函数 功能:就是装饰成其他函数  就是为其他函数添加附加功能的 高阶函数+嵌套函数=装饰器 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 总结一句话:装饰器对被装饰的函数是完全透明的 实现装饰器的只是储备: 1.函数名即"变量"   将函数体赋值给变量   和内存回收机制一样 2.高阶函数 2.1.把函数名作为实参传递给形参(可返回被修饰函数的地址)(不修改源代码的情况可添加新的功能) 2.2返回值中包含函数地址(不修改函数的调

Python面试题之生成器/迭代器

1.为什么要有生成器? 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了.所以,如果列表元素可以按照某种算法推算出来,那我们是否可以... 在循环的过程中不断推算出后续的元素,这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 第一种方法很简单,只

4.利用python生成器实现简单的“生产者消费者”模型

假如说,没有生成器这种对象,那么如何实现这种简单的"生产者消费者"模型呢? import time def producer(): pro_list = [] for i in range(10000): print "包子%s制作ing" %(i) time.sleep(0.5) pro_list.append("包子%s" %i) return pro_list def consumer(pro_list): for index,stuffe

Python之路22-列表生成式和函数生成器

#列表生成式 list1 = [i*2 for i in range(1,11)] #生成器,在调用时才会生成相应的数据 list = (x*2 for x in range(1,1000000)) #list.__next__() #函数生成器 def fib(max):     n,a,b = 0,0,1     while n < max:         #print (b)         yield b         a,b = b,a+b         n = n + 1   

Python高级特性:迭代器和生成器 -转

在Python中,很多对象都是可以通过for语句来直接遍历的,例如list.string.dict等等,这些对象都可以被称为可迭代对象.至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知识了. 迭代器 迭代器对象要求支持迭代器协议的对象,在Python中,支持迭代器协议就是实现对象的__iter__()和next()方法.其中__iter__()方法返回迭代器对象本身:next()方法返回容器的下一个元素,在结尾时引发StopIteration异常. __iter__()和next()

yield生成器及字符串的格式化

一.生成器 1 def ran(): 2 print('Hello world') 3 yield 'F1' 4 5 print('Hey there!') 6 yield 'F2' 7 8 print('goodbye') 9 yield 'F3' 10 11 ret = ran() # ran()称为生成器函数,ret才是生成器,仅仅具有一种生成能力,函数内部要有关键字yield 12 print(ret) 13 14 res = ret.__next__() #对生成器进行循环操作,遇到y