数据生成

import json
dic = [{"x":i,"y":0.01*i*i} for i in range(-150,150,1)]
json.dump(dic,open("./test.json","w"))

d3展示

<html>
<style>
.axis path,
.axis line{fill: none;stroke: black;shape-rendering: crispEdges;
}
.axis text {font-family: sans-serif;font-size: 11px;
}
path {fill: transparent;stroke: green;
}
</style><body><svg width=300 height =300 ></svg><script src="d3.min.js" charset="utf-8"></script><script>svg =   d3.select("svg")    var xlinear = d3.scale.linear().domain([-150, 150]).range([0, 300]);var ylinear = d3.scale.linear().domain([0, 250]).range([250, 0]);var xaxis = d3.svg.axis().scale(xlinear)      //指定比例尺.orient("bottom")   //指定刻度的方向.ticks(10);          //指定刻度的数量var yaxis = d3.svg.axis().scale(ylinear).orient("left").ticks(5);svg.append("g").attr("class","axis").attr("transform","translate(0,250)")  //x轴上下平移不会对坐标系造成影响.call(xaxis);svg.append("g").attr("class","axis").attr("transform","translate(150,0)")  //y轴左右平移不会对坐标系造成影响.call(yaxis);d3.json("test.json", function(json){var circle = svg.selectAll("circle").data(json).enter().append('circle').attr('cx', (d)=>xlinear(d.x)).attr('cy', (d)=>ylinear(d.y)).attr("r",2).on("mouseover",function(){d3.select(this).attr("fill","yellow");x1 = d3.select(this).datum().x  //datum返回的标签相对应的数据y1 = d3.select(this).datum().ygradient=0.02*x1x2 = x1-100y2 = y1-100*gradientsvg.append("line").attr("x1",xlinear(x1)).attr("y1",ylinear(y1)).attr("x2",xlinear(x2)).attr("y2",ylinear(y2)).attr("stroke","black").attr("class","temp");console.log(d3.select(this).datum(),x1,y1,x2,y2);}).on("mouseout",function(){d3.select(this).attr("fill","dark");svg.select("line.temp").remove();  //使用class选择指定的元素})});</script></body>
</html>

D3 二次方曲线与切线相关推荐

  1. 【绘制】HTML5 Canvas二次方贝塞尔曲线,实现复选框对勾对号,实现圆角三角形,圆角矩形(图文,示例)

    我的处女作<Canvas系列教程>在我的Github上正在连载更新,希望能得到您的关注和支持,让我有更多的动力进行创作. 教程介绍.教程目录等能在README里查阅. 传送门:https: ...

  2. Android仿苹果版QQ下拉刷新实现(二) ——贝塞尔曲线开发鼻涕下拉粘连效果

    前言 接着上一期 Android仿苹果版QQ下拉刷新实现(一) --打造简单平滑的通用下拉刷新控件 的博客开始,同样,在开始前我们先来看一下目标效果: 下面上一下本章需要实现的效果图: 大家看到这个效 ...

  3. 《算法技术手册》一2.4.6 二次方的算法性能

    2.4.6 二次方的算法性能 现在考虑一个类似的问题:两个n位的整数相乘.例2-4展示了使用小学课堂上学过的算法实现的乘法运算,其中n位数字的表示方法与之前的加法一样. 例2-4:mult乘法的Jav ...

  4. python使用matplotlib画图,绘制三维、二维曲线。设置字体大小以及坐标系间距等

    话不多说,直接看代码和效果(不设置字体大小.逐个设置以及批量设置),其中,曲线的大小.类型以及颜色可以看我的另一篇博客. import matplotlib.pyplot as plt from mp ...

  5. VTK:二次方用法实战

    VTK:二次方用法实战 程序输出 程序完整源代码 程序输出 程序完整源代码 #include <vtkActor.h> #include <vtkDataSetMapper.h> ...

  6. (专题四)01 二维曲线

    利用plot()函数可以绘制出不同的二维曲线 lpot()函数用于绘制平面上的线性坐标曲线 通常x,y为长度相等的向量 例子 相应位置上的x,y构成某一点的坐标,例如(2.5,1.5)构成第一点的坐标 ...

  7. Filecoin将启动第一轮全球社区开发者二次方投票资助计划和线上Hackathon

    据官方消息,Filecoin将启动第一轮全球社区开发者二次方投票资助计划线上Hackathon,目标是公益资助开发者的创新想法和早期优质项目,可以在Filecoin生态中进一步发展成技术更完善.产品更 ...

  8. 【数学】-1的根号二次方等于多少?

    突然发现我这博客咋啥都开始写了呢... 上微积分课胡思乱想系列... 显然这个东西在数学上是没有定义的. 包括 −1 -1的 13 \frac13次方这样的东西,数学上的定义也挺模糊的 不过我们可以想 ...

  9. MATLAB plot函数绘制二维曲线

    1.plot函数的基本调用 在MATLAB中,在直角坐标系下绘制二维曲线一般使用plot函数. 基本调用格式: plot(x,y) x,y是长度一致的向量,例如: >> x=0:pi/10 ...

最新文章

  1. 编程语言使用率的统计与简单分析
  2. js常用阻止冒泡事件
  3. android4.0 编译报错 Xmx2048m错误 .
  4. 【数学和算法】初识卡尔曼滤波器(五)
  5. SQL增删改查,基础
  6. TreeMap方法源码
  7. 三维重建13X:一些算法试题-今日头条AI-Lab
  8. P4009 汽车加油行驶问题
  9. java中timer和timertask_使用Java中的Timer和TimerTask
  10. python 通用数据库类型_Python开发基础之Python常用的数据类型
  11. 洛谷——P1162 填涂颜色【bfs】
  12. centos7 升级最新版内核
  13. 制作粉色少女系列 生日快乐祝福网页(HTML+CSS+JS)
  14. Array和Slices
  15. 票总管代账版行业解决方案
  16. 仿微信聊天记录气泡背景
  17. java安卓天气结课作业_安卓天气预报毕设和毕业论文
  18. android炉石解析包错误,炉石传说7月11日解析失败怎么回事 游戏出错解决方法介绍...
  19. android仿2016年春节微信朋友圈红包照片效果
  20. 如何使用Flutter创建一个瀑布流布局的应用?

热门文章

  1. 记事本可以编辑html语言吗,笔记本win7系统使用记事本编辑和运行html代码的方法...
  2. 直播预告|阿里云天池牛年读书会《中学生可以这样学Python(微课版)》
  3. 1000道Python题库系列分享26(12道Pandas编程题)
  4. Python花式编程案例集锦(9):sorted()函数中消失的cmp参数
  5. Python使用numpy和pandas模拟转盘抽奖游戏
  6. html十css十javascript,html代码,css代码,JavaScript代码, | 重蔚自留地
  7. 庆熙大学计算机工程系,庆熙大学
  8. dart map 转list_Dart 集合类型List Set Map循环forEach map where any every
  9. python 字典性质描述_卧槽!Python还有这些特性(2):奇怪的字典
  10. 单片机shell命令_单片机裸机下写一个自己的shell调试器