当前位置: 首页 > ai >正文

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);

思路

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

http://www.xdnf.cn/news/17254.html

相关文章:

  • Elasticsearch:在向量搜索中使用 Direct IO
  • 富士 Instax 12 和 Instax Mini 11 有什么区别?推荐购买哪一款?
  • Microsoft Dynamics AX 性能优化解决方案
  • 【Python-Day 38】告别通用错误!一文学会创建和使用 Python 自定义异常
  • 临床医学 RANDOM SURVIVAL FORESTS(randomSurvivalForest)-2 python 例子
  • 【GPT-OSS 全面测评】释放推理、部署和自主掌控的 AI 新纪元
  • Redis对象编码
  • 微算法科技(NASDAQ:MLGO)使用循环QSC和QKD的量子区块链架构,提高交易安全性和透明度
  • 如何 让ubuntu 在root 下安装的docker 在 普通用户下也能用
  • 基于大数据的地铁客流数据分析预测系统 Python+Django+Vue.js
  • element plus table 表格操作列根据按钮数量自适应宽度
  • 并发编程(五)ThreadLocal
  • 智慧工业设备缺陷检测准确率↑32%:陌讯多模态融合算法实战解析
  • 微软XBOX游戏部门大裁员
  • 6.Linux 系统上的库文件生成与使用
  • 谷粒商城:检索服务
  • 解决Ollama外部服务器无法访问:配置 `OLLAMA_HOST=0.0.0.0` 指南
  • 深度剖析主流AI大模型的编程语言与架构选择:行业实践与技术细节解读
  • 苹果iPhone 17系列将发售,如何解决部分软件适配问题引发讨论
  • 《Hive、HBase、StarRocks、MySQL、OceanBase 全面对比:架构、优缺点与使用场景详解》
  • k8s调度问题
  • Charles中文版抓包工具功能解析,提升API调试与网络性能优化
  • ArgoCD 与 GitOps:K8S 原生持续部署的实操指南
  • 微软披露Exchange Server漏洞:攻击者可静默获取混合部署环境云访问权限
  • 31-数据仓库与Apache Hive-Insert插入数据
  • 悬赏任务系统网站兼职赚钱小程序搭建地推抖音视频任务拉新源码功能详解二开
  • 人工智能与交通:出行方式的革新
  • Ubuntu 22.04 安装 Docker 完整指南
  • [激光原理与应用-183]:测量仪器 - 光束型 - 光束参数乘积(BPP)的本质与含义,聚焦能力与传输稳定性的物理矛盾。
  • 深入解析C++流运算符(>>和<<)重载:为何必须使用全局函数与友元机制