前端react项目实现词云效果

本文介绍了如何使用Echarts 4.9.0版本结合echarts-wordcloud 1.1.3版本创建词云效果。在过程中,可能会遇到`createTextStyle is not a function`的错误,这通常由于Echarts版本过低导致。解决方案是确保Echarts版本升级到5.0.1以上,并且与echarts-wordcloud保持兼容。示例代码展示了具体的配置和组件实现,包括颜色随机生成、数据设置等细节。

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

引言: echarts词云效果使用,直接 ‘npm install echarts-wordcloud ’ ,默认加载的是最新版本依赖,那就你需要echarts更新到 5.0.1+ 的版本,如果你的词云效果实现有报错 …createTextStyle is not a function,你需要比对一下你的echarts版本和echarts-wordcloud依赖的版本是否兼容。我的示例使用的是4.9.0版本的echarts和1.1.3版本的echarts-wordcloud

npm install echarts --save
npm install --save echarts-for-react
npm install echarts-wordcloud@1.1.3   

项目效果:
在这里插入图片描述

页面组件完整代码:

import React from 'react';
import ReactEcharts from 'echarts-for-react';
import * as echarts from 'echarts';
import 'echarts-wordcloud';
import style from './style.less';

export const index = (props: any) => {
  const option = {
    series: [
      {
        type: 'wordCloud',
        gridSize: 2,
        sizeRange: [12, 50],
        rotationRange: [-90, 90],
        shape: 'pentagon',
        textStyle: {
          normal: {
            color: function() {
              return (
                'rgb(' +
                [
                  Math.round(Math.random() * 255),
                  Math.round(Math.random() * 255),
                  Math.round(Math.random() * 255),
                ].join(',') +
                ')'
              );
            },
          },
          emphasis: {
            shadowBlur: 10,
            shadowColor: '#333',
          },
        },
        data: [
          {
            name: 'Sam S Club',
            value: 10000,
          },
          {
            name: 'Macys',
            value: 6181,
          },
          {
            name: 'Amy Schumer',
            value: 4386,
          },
          {
            name: 'Jurassic World',
            value: 4055,
          },
          {
            name: 'Charter Communications',
            value: 2467,
          },
          {
            name: 'Chick Fil A',
            value: 2244,
          },
          {
            name: 'Planet Fitness',
            value: 1898,
          },
          {
            name: 'Pitch Perfect',
            value: 1484,
          },
          {
            name: 'Express',
            value: 1112,
          },
          {
            name: 'Home',
            value: 965,
          },
          {
            name: 'Johnny Depp',
            value: 847,
          },
          {
            name: 'Lena Dunham',
            value: 582,
          },
          {
            name: 'Lewis Hamilton',
            value: 555,
          },
          {
            name: 'KXAN',
            value: 550,
          },
          {
            name: 'Mary Ellen Mark',
            value: 462,
          },
          {
            name: 'Farrah Abraham',
            value: 366,
          },
          {
            name: 'Rita Ora',
            value: 360,
          },
          {
            name: 'Serena Williams',
            value: 282,
          },
          {
            name: 'NCAA baseball tournament',
            value: 273,
          },
          {
            name: 'Point',
            value: 273,
          },
          {
            name: 'Point Break',
            value: 265,
          },
        ],
      },
    ],
  };

  return (
    <div className={style.wordContainer}>
      <ReactEcharts
        option={option as any}
        notMerge
        lazyUpdate
        style={{ height: '100%', width: '100%' }}
      />
    </div>
  );
};

export default index;
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值