echarts词云图echarts-wordcloud使用方法

1、echarts5.0以下的版本使用 echarts-wordcloud 1.0 的词云

复制代码
1. 安装 wordCloud 1.0 依赖包
    npm install echarts-wordcloud@1
    
2. man.js 注入
    import 'echarts-wordcloud'

2、echarts5.0及以上的下载 echarts-wordcloud 2.0 版本

注意:npm install echarts-wordcloud 默认安装的是 2.0 版本

具体使用:

项目中引用:

复制代码
import * as echarts from 'echarts';
import 'echarts-wordcloud';

echarts-wordcloud 基本配置

复制代码
<div ref="word-cloud" class="flex can-class" ></div>

// 这里和echarts的使用一样,先拿到容器元素
  const myChart = echarts.init(this.$refs['word-cloud']);
  window.addEventListener('resize', function() {
    myChart.resize();
  });
  appProto().then(res => {
      if (res.data.code === 200) {
      // 因为UI设计规定了颜色,因此我就采用这几个颜色座位随机的颜色调整
        const color = ['#1890FF', '#13C2C2', '#2FC25B', '#009DFF', '#8496FA'];
        var option = {
          backgroundColor: '#fff',
          series: [
            {
              type: 'wordCloud',
              sizeRange: [15, 70], // 用来调整字的大小范围
              rotationRange: [0, 0],// 每个词旋转的角度范围和旋转的步进
              rotationStep: 45,
              gridSize: 10, // 用来调整词之间的距离
              shape: 'pentagon',// shape这个属性虽然可配置,但是在词的数量不太多的时候,效果不明显,它会趋向于画一个椭圆
              //位置的配置
              width: '100%',
              height: '100%',
              drawOutOfBound: false,// 允许词太大的时候,超出画布的范围
              layoutAnimation: true,// 布局的时候是否有动画
              textStyle: {
                normal: {
                  // 颜色可以用一个函数来返回字符串,这里是随机色
                  color: function(v) {
                    const index = Math.floor(Math.random() * color.length);
                    return color[index];
                  },
                  fontFamily: 'sans-serif',
                  fontWeight: '550'
                }
              },
              //划过添加的阴影,因为我不需要,因此注释了
              <!-- emphasis: {
                focus: 'self',
                textStyle: {
                    textShadowBlur: 10,
                    textShadowColor: '#333'
                }
              }, -->
              //data格式是一个数组
              data: res.data.data
            }
          ]

        };
        myChart.setOption(option);
      }
    });
相关推荐
代码煮茶13 小时前
React 组件封装方法论 —— 以 Todo App 为例
javascript·react.js
任沫13 小时前
Agent之Function Call
javascript·人工智能·go
默_笙14 小时前
🛬 我让 AI 帮我写了一个打飞机游戏,结果 Canvas 把我整不会了
前端·javascript
梯度不陡14 小时前
AI 到底能不能从零写软件?ProgramBench 和 RepoZero 给出了两种答案
前端·javascript·面试
胡萝卜术16 小时前
滑动窗口最大值:从暴力到单调队列,层层优化全解析
前端·javascript·面试
kyriewen17 小时前
2026 年了,这 6 个 npm 包可以卸载了——浏览器原生 API 已经能替代
前端·javascript·npm
铁皮饭盒19 小时前
bun直接tsx,优雅!
javascript·后端
_柳青杨20 小时前
一文吃透 Node.js 事件循环:从原理到 Node 20+ 重大变更
javascript·后端
JieE2121 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
冬奇Lab1 天前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent