使用react+echarts实现变化趋势缩略图

 更新时间:2026年01月22日 10:40:20   作者:莲青见卿  
ECharts是一个基于 JavaScript 的开源可视化图表库,它提供了丰富的图表类型和强大的数据可视化功能,这篇文章主要介绍了使用react+echarts实现变化趋势缩略图的相关资料,需要的朋友可以参考下

如上图,实现一个缩略图。

import React, { useState, useEffect } from 'react';
const ParentCom = () => {
	const [data, setData] = useState({});
	useEffect(() => {
		// 这里可以做一些接口请求等操作
		setData({
            isSheng: false, value: 11.24, percentage: '2.3%', data: {
              xData: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
              yData: [820, 233, 121, 934, 12, 130, 320],
            },
          });
	},[]);

	return <div>
		<div>{/*页面的其他渲染内容*/}</div>
		<ThumbnailChartsCom 
          id={'yeasterday-search-time'}
          data={data} />
	</div>
};
export default ParentCom;
import React, { memo, useEffect, useRef } from 'react';

import { LineChart } from 'echarts/charts';
import { GridComponent } from 'echarts/components';
import * as echarts from 'echarts/core';
import { UniversalTransition } from 'echarts/features';
import { CanvasRenderer } from 'echarts/renderers';

import styles from './index.module.less';

echarts.use([
  GridComponent,
  LineChart,
  CanvasRenderer,
  UniversalTransition,
]);
interface IThumbnail {
  xData: string[];
  yData: number[];
}
const ThumbnailChartsCom = ({ id, data }: { id: string, data: IThumbnail }) => {
  const chartRef = useRef<HTMLDivElement>(null);
  useEffect(() => {
    const chartDom = chartRef.current;
    if (!chartDom) return;
    const myChart = echarts.init(chartDom);
    const option = {
      grid: {
        top: '0',
        left: '0',
        right: '0',
        bottom: '0',
        containLabel: true,
      },
      // 设置x轴的类型为类目轴,不显示边界间隙
      xAxis: {
        type: 'category',
        boundaryGap: false,
        show: false,
        // 设置x轴的数据
        data: data.xData || [],
      },
      // 设置y轴的类型为数值轴
      yAxis: {
        type: 'value',
        axisTick: { show: false }, // 隐藏 Y 轴的刻度线
        axisLabel: { show: false },  // 隐藏 Y 轴的标签
        splitLine: {
          show: false,
        }, // 隐藏 Y 轴的分割线
      },
      // 设置图表的系列数据
      series: [
        {
          // 设置系列数据
          data: data.yData || [],
          type: 'line', // 设置系列数据的类型为折线图
          symbol: 'none', // 不显示折线图上的点
          smooth: true, // 平滑曲线
          lineStyle: {
            color: '#375EFF',
          },
          // 设置系列数据的区域样式
          areaStyle: {
            opacity: 0.3,
          },
        },
      ],
    };
    option && myChart.setOption(option);
    const handleResize = () => {
      myChart.resize();
    };
    window.addEventListener('resize', handleResize);

    return () => {
      window.removeEventListener('resize', handleResize);
      myChart.dispose(); // 销毁ECharts实例
    };
  }, [data, id]);
  // 返回一个div元素,用于显示图表
  return <div ref={chartRef} id={id} className={styles.chartsWrap} />;
};

export default memo(ThumbnailChartsCom);

思路

将折线图的横纵轴信息、标题、图例、信息卡、刻度线等全部隐藏起来。

总结

到此这篇关于使用react+echarts实现变化趋势缩略图的文章就介绍到这了,更多相关react+echarts变化趋势缩略图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 微信小程序使用Promise简化回调

    微信小程序使用Promise简化回调

    本篇文章主要介绍了微信小程序使用Promise简化回调,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 禁止你的左键复制实用技巧

    禁止你的左键复制实用技巧

    左键复制对于所有人来说有好有坏,例如原创内容就不想被别人复制,接下来介绍一种方法,有需要的朋友可以参考下
    2013-01-01
  • javascript中的structuredClone()克隆方法

    javascript中的structuredClone()克隆方法

    本文介绍了JavaScript的structuredClone方法,用于在WebWorkers中创建对象的深度副本,避免并发问题,具有一定的参考价值,感兴趣的可以了解一下
    2025-07-07
  • 浅谈javascript中的 “ && ” 和 “ || ”

    浅谈javascript中的 “ && ” 和 “ || ”

    本文主要介绍了Javascript中的 “ && ” 和 “ || ”的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JavaScript实现时间范围效果

    JavaScript实现时间范围效果

    这篇文章主要为大家详细介绍了JavaScript实现时间范围效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • JS实现的自定义水平滚动字体插件完整实例

    JS实现的自定义水平滚动字体插件完整实例

    这篇文章主要介绍了JS实现的自定义水平滚动字体插件,以完整实例形式分析了javascript自定义水平滚动字体插件的定义、原理与使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • JavaScript时间戳与时间日期间相互转换

    JavaScript时间戳与时间日期间相互转换

    今天做项目遇到这样的问题,要将获取到的时间转换为时间戳,通过查阅相关资料,问题顺利解决,下面小编把具体实现代码分享到脚本之家平台,需要的朋友参考下
    2017-12-12
  • JavaScript常见错误:“无法读取未定义的属性”的原因及解决方案

    JavaScript常见错误:“无法读取未定义的属性”的原因及解决方案

    本文将深入探讨“无法读取未定义的属性”这一常见JavaScript错误,分析其成因,提供详细的解决方案和最佳实践,帮助开发者有效地预防和修复此类问题,感兴趣的小伙伴跟着小编一起来看看吧
    2024-12-12
  • js控制的遮罩层实例介绍

    js控制的遮罩层实例介绍

    把项目里很土的弹窗,改成了遮罩层显示,现在感觉好多了。在这里创建一个div和body一样大小,这样就可以把整个页面全部盖住了,具体实现祥看本文,希望可以帮助到你
    2013-05-05
  • uniapp如何使用 web-view 与网页互相通信

    uniapp如何使用 web-view 与网页互相通信

    这篇文章主要介绍了uniapp如何使用 web-view 与网页互相通信,在APP中使用 this.$scope.$getAppWebview() 获取webview对象实例,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07

最新评论