当前位置:首页 > React

react 热力图如何制作

2026-03-10 16:40:48React

安装依赖

使用 react-heatmapreact-heat-map 库可以快速实现热力图功能。通过 npm 或 yarn 安装:

npm install react-heatmap
# 或
yarn add react-heatmap

基础热力图实现

引入库并渲染基础热力图组件:

import HeatMap from 'react-heatmap';

function App() {
  const data = [
    { x: 1, y: 1, value: 10 },
    { x: 2, y: 2, value: 20 },
    // 更多数据点...
  ];

  return (
    <HeatMap
      data={data}
      width={500}
      height={300}
    />
  );
}

自定义样式

通过 gradientcellStyle 属性调整颜色和单元格样式:

<HeatMap
  data={data}
  gradient={['#0000ff', '#ff0000']} // 从蓝到红的渐变
  cellStyle={(background, value, min, max) => ({
    background,
    fontSize: '11px',
    border: '1px solid #fff'
  })}
/>

时间序列热力图

使用 react-calendar-heatmap 可制作类似 GitHub 贡献日历的热力图:

react 热力图如何制作

npm install react-calendar-heatmap

示例代码:

import CalendarHeatmap from 'react-calendar-heatmap';

const dateValues = [
  { date: '2023-01-01', count: 5 },
  { date: '2023-01-02', count: 10 },
  // 更多日期数据...
];

<CalendarHeatmap
  startDate={new Date('2023-01-01')}
  endDate={new Date('2023-12-31')}
  values={dateValues}
  showWeekdayLabels
/>

地理热力图

结合 react-simple-mapsd3-scale-chromatic 实现地理分布热力图:

react 热力图如何制作

npm install react-simple-maps d3-scale-chromatic

实现示例:

import { Choropleth } from 'react-simple-maps';
import { scaleQuantize } from 'd3-scale';
import { schemeBlues } from 'd3-scale-chromatic';

const colorScale = scaleQuantize()
  .domain([0, 100])
  .range(schemeBlues[7]);

<Choropleth
  data={geoData}
  geography={geoJson}
  colorScale={colorScale}
  valueAccessor={d => d.value}
/>

性能优化

对于大数据集,建议:

  • 使用 shouldComponentUpdateReact.memo 避免不必要的重渲染
  • 通过 dataAggregation 降低数据密度
  • 对静态数据启用 staticPlot 属性

交互功能

添加鼠标悬停提示框:

<HeatMap
  data={data}
  onMouseOver={(event, data) => {
    console.log(`Value: ${data.value}`);
  }}
  tooltip={(value, unit) => `${value} ${unit}`}
/>

标签: react
分享给朋友:

相关文章

react如何验证

react如何验证

表单验证方法 在React中验证表单数据通常使用以下几种方式: 内置HTML5验证 利用HTML5原生表单验证属性如required、pattern等,结合form.noValidate属性禁用浏览…

如何同步react

如何同步react

同步React组件状态的方法 使用useState和useEffect钩子组合可以同步React组件的状态。useState用于声明状态变量,useEffect用于监听状态变化并执行副作用。 imp…

react如何添加图片

react如何添加图片

在React中添加图片的方法 使用import导入本地图片 将图片文件放在项目目录中(如src/assets),通过import语句引入后作为src属性值: import logo from './…

如何运行react项目

如何运行react项目

运行React项目的步骤 确保已安装Node.js(建议版本12或更高)和npm/yarn。若未安装,可从Node.js官网下载。 全局安装create-react-app脚手架工具(若已安装可跳过…

如何使用 react native

如何使用 react native

安装开发环境 确保已安装 Node.js(建议使用 LTS 版本)。通过以下命令安装 React Native 命令行工具: npm install -g expo-cli 或使用 Yarn: y…

react如何引入图片

react如何引入图片

在React中引入图片的方法 使用import直接引入 将图片文件放在项目src目录下(如src/images),通过ES6的import语法引入: import logo from './imag…