用D3.js(React) 画一个超简单的图表

本文介绍了如何使用D3.js和React创建一个简单的图表。首先清空了src/App.js的内容,然后在componentDidMount方法中添加SVG元素和矩形。通过data()、enter()和append()等方法绑定数据并绘制。最后提到了一个可视化资源网站VizHub。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

第一步

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

初始src/App.js如下:

import React, { Component } from 'react';
import * as d3 from 'd3';
import './App.css';

class App extends Component {

  componentDidMount () {
  }

  render() {
    return (
      <div className="App">
        
      </div>
    );
  }
}

export default App;

第二步

编写componentDidMount方法

1) 添加svg

  componentDidMount () {
    const width = 300, height = 300;    // 画布的宽高

    let svg = d3.select('.App')         // 选择文档中第一个class为App的元素
        .append('svg')                  // 添加一个svg元素
        .attr('width', width)
        .attr('height', height);
    
  }

2) 在svg中追加矩形

    const dataset = [ 34, 23, 54, 73, 88, 4 ];
    const rectHeight = 25;


    svg.selectAll('rect')
        .data(dataset)
        .enter()                        // node比数据少时,通过enter来添加node
        .append('rect')                 // 添加足够数量的矩形元素
        .attr('y', (d, i) => i * (rectHeight + 2))    // y坐标
        .attr('width', d => d)          // 矩形宽
        .attr('height', rectHeight);    // 矩形高

现在的src/App.js 

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

 


方法解释:

data() 绑定数据

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

append() 添加node

attr() node添加属性


各方法返回:

 


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值