当前位置:   article > 正文

用D3.js(React) 画一个超简单的图表_react d3绘制脑图

react d3绘制脑图

我们把上一篇博文里的架构再拿过来用。

第一步

清空src/App.js里的className为App里的内容和componentDidMount方法

初始src/App.js如下:

  1. import React, { Component } from 'react';
  2. import * as d3 from 'd3';
  3. import './App.css';
  4. class App extends Component {
  5. componentDidMount () {
  6. }
  7. render() {
  8. return (
  9. <div className="App">
  10. </div>
  11. );
  12. }
  13. }
  14. export default App;

第二步

编写componentDidMount方法

1) 添加svg

  1. componentDidMount () {
  2. const width = 300, height = 300; // 画布的宽高
  3. let svg = d3.select('.App') // 选择文档中第一个class为App的元素
  4. .append('svg') // 添加一个svg元素
  5. .attr('width', width)
  6. .attr('height', height);
  7. }

2) 在svg中追加矩形

  1. const dataset = [ 34, 23, 54, 73, 88, 4 ];
  2. const rectHeight = 25;
  3. svg.selectAll('rect')
  4. .data(dataset)
  5. .enter() // node比数据少时,通过enter来添加node
  6. .append('rect') // 添加足够数量的矩形元素
  7. .attr('y', (d, i) => i * (rectHeight + 2)) // y坐标
  8. .attr('width', d => d) // 矩形宽
  9. .attr('height', rectHeight); // 矩形高

现在的src/App.js 

此时,你可以在页面中看到

 


方法解释:

data() 绑定数据

enter() Selection实例中node数量少于data数量,使用该方法添加足够的node

append() 添加node

attr() node添加属性


各方法返回:

 


给大家种草一个网站:https://vizhub.com/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/563005
推荐阅读
相关标签
  

闽ICP备14008679号