react中使用heatmap.js实现热力图

heatmap.js 是一个用于生成热力图的 JavaScript 库,可以通过使用 Canvas 或 SVG 来可视化数据密度。React 是一个流行的 JavaScript 库,用于构建用户界面,在 React 应用程序中使用 heatmap.js,首先在你的项目中安装 heatmap.js 库。

使用 npm 或 yarn 命令来安装

// NPM 
npm i heatmapjs

// yarn 
yarn add heatmapjs

导入h337库

import h337 from 'heatmapjs'

创建热力图

// 创建热力图实例
const heatmapInstance = h337.create({
    // 使用 h337 库创建一个热力图实例
  container: this.heatmapRef.current, // 将热力图渲染到指定的容器中
  radius: 25, // 设置热力图的半径大小为 25
  maxOpacity: .5, // 设置热力图的最大不透明度为 0.5
  minOpacity: 0, // 设置热力图的最小不透明度为 0
  blur: .75, // 设置热力图的模糊程度为 0.75
  level: 99, // 设置热力图的层级为 99,数值越大表示绘制越详细
});

// 热力图数据点
const data = [ 
  {
    x: 10, y: 20, value: 5 },
  {
    x: 30, y: 40, value: 10 },
  {
    x: 50, y: 60, value: 8 },
];

// 将数据传给热力图实例进行渲染
heatmapInstance.setData({
    data: heatmapData }); 

react实现的完整代码

import React, {
    Component, createRef } from 'react';
import h337 from 'heatmapjs';

class Heatmap extends Component {
   
  constructor (props){
   
    super(props)
    this.heatmapRef = createRef()
  }
  componentDidMount() {
   
    const heatmapInstance = h337.create({
    // 使用 h337 库创建一个热力图实例
	  container: this.heatmapRef.current, // 将热力图渲染到指定的容器中
	  radius: 25, // 设置热力图的半径大小为 25
	  maxOpacity: .5, // 设置热力图的最大不透明度为 0.5
	  minOpacity: 0, // 设置热力图的最小不透明度为 0
	  blur: .75, // 设置热力图的模糊程度为 0.75
	  level: 99, // 设置热力图的层级为 99,数值越大表示绘制越详细
	});

	// 热力图数据点
    const data = [
      {
    x: 10, y: 20, value: 5 },
      {
    x: 30, y: 40, value: 10 },
      {
    x: 50, y: 60, value: 8 }
    ];
    
	// 将数据传给热力图实例进行渲染
    heatmapInstance.setData({
    data })
  }
  
  render() {
   
    return (
      <div ref={
   this.heatmapRef} style={
   {
    width: '100%', height: '100%' }} />
    )
  }
}

export default Heatmap

效果图

热力图
heatmap.js
heatmap文档

相关推荐

  1. heatmap.js力图【vue3】

    2023-12-14 20:06:05       47 阅读
  2. 深度学习力图

    2023-12-14 20:06:05       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-14 20:06:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-14 20:06:05       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-14 20:06:05       87 阅读
  4. Python语言-面向对象

    2023-12-14 20:06:05       96 阅读

热门阅读

  1. sql server导出与导入

    2023-12-14 20:06:05       58 阅读
  2. oracle的函数怎么用

    2023-12-14 20:06:05       60 阅读
  3. CAMERA调试

    2023-12-14 20:06:05       60 阅读
  4. 使用Python进行数学四则运算

    2023-12-14 20:06:05       54 阅读
  5. 2023年值得一用的8款协作工具

    2023-12-14 20:06:05       70 阅读
  6. [Stream]自定义的Collect筛选

    2023-12-14 20:06:05       61 阅读
  7. Mysql

    Mysql

    2023-12-14 20:06:05      70 阅读
  8. Unity实现GoF23种设计模式

    2023-12-14 20:06:05       58 阅读
  9. Autosar基础安全架构简介

    2023-12-14 20:06:05       68 阅读
  10. android : 省市区Json

    2023-12-14 20:06:05       64 阅读
  11. FB使用汇编模拟GoSub(子函数)功能

    2023-12-14 20:06:05       55 阅读
  12. ENSP-VRP

    ENSP-VRP

    2023-12-14 20:06:05      68 阅读