如何一步步用D3画多曲线

Bar Chart:  http://bl.ocks.org/mbostock/3885304
这是一个画柱状图的基本形式。
Axis是数轴;
tickets是数轴上的标尺,tickets第二个参数% 可以使[0, 1]的数以百分比显示;
rangeRoundBands 在[0, width] 上按区间划分,正好适合柱状图,rangePoints 在[0, width] 上按点位划分;
transform 是相对于父节点变换坐标的数目;
function type 先于load tsv文件执行,程序异步进行。

Bar Chart III: 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用d3.js在Vue中贝塞尔曲线的示例: 1. 安装d3.js 使用npm安装d3.js: ``` npm install d3 ``` 2. 在Vue组件中导入d3.js 在Vue组件的`<script>`标签中导入d3.js: ``` import * as d3 from 'd3'; ``` 3. 在Vue组件中定义一个SVG元素 在Vue组件中定义一个SVG元素,用于绘制贝塞尔曲线: ``` <template> <svg ref="svg"></svg> </template> ``` 4. 在Vue组件的mounted钩子函数中使用d3.js绘制贝塞尔曲线 在Vue组件的mounted钩子函数中使用d3.js绘制贝塞尔曲线: ``` <script> export default { mounted() { const svg = d3.select(this.$refs.svg); const width = 500; const height = 500; const controlPoints = [ [100, 100], [200, 200], [300, 300] ]; const line = d3.line() .x(d => d[0]) .y(d => d[1]); const curve = svg.append('path') .attr('d', line(controlPoints)) .attr('stroke', 'black') .attr('fill', 'none'); const drag = d3.drag() .on('drag', () => { const [x, y] = d3.event.subject; const dx = d3.event.dx; const dy = d3.event.dy; d3.event.subject = [x + dx, y + dy]; controlPoints[d3.event.index] = [x + dx, y + dy]; curve.attr('d', line(controlPoints)); }); svg.selectAll('.control-point') .data(controlPoints) .enter() .append('circle') .attr('class', 'control-point') .attr('cx', d => d[0]) .attr('cy', d => d[1]) .attr('r', 5) .call(drag); } } </script> ``` 这段代码首先定义了一个SVG元素,然后使用d3.line()创建一条折线,再使用d3.drag()创建一个拖动事件,最后使用d3.selectAll()创建三个控制点。当拖动控制点时,它们的坐标会更新,然后使用d3.line()重新绘制贝塞尔曲线。 上面的代码可以出一个简单的三次贝塞尔曲线,你可以根据自己的需求修改数据和样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值