1.安装

npm install echarts echarts-wordcloud

注意:
echartswordcloud基于 echarts 的,所以要先安装 echarts,若已经安装,则直接安装 echartswordcloud

另外,echarts4.7.0 或 4.9.0 适用安装 echartswordcloud@1.1.2 版本echarts5.0.1 适用安装 echartswordcloud@2.0.0 版本

<script setup lang="ts">
import { ref, nextTick, onMounted } from 'vue'
import * as echarts from "echarts"
import 'echarts-wordcloud'
const wordcloudRef = ref()
onMounted(() => {
  const data = [
    {
      name: '前端工程师',
      value: 100
    },
    {
      name: '数据可视化',
      value: 50
    },
    {
      name: '大耳朵图图',
      value: 20
    },
    {
      name: '前端工程师',
      value: 150
    },
    {
      name: '数据可视化',
      value: 75
    },
    {
      name: '大耳朵图图',
      value: 55
    }
  ]
  initWordCloud(data)
})
// 初始化词云
const initWordCloud = (data: any, max = 72) => {
  var myChart = echarts.init(wordcloudRef.value);
  const option = {
    title: {
      text: '关键词',
      show: false
    },
    tooltip: {},
    series: [{
      type: 'wordCloud',
      shape: 'circle',
      left: 'center',
      top: 'center',
      width: '75%',
      height: '60%',
      right: null,
      bottom: null,
      sizeRange: [14, max],
      rotationRange: [-45, 45],
      rotationStep: 15, // 0 15 30 45 度倾斜
      gridSize: 12,
      drawOutOfBound: false,
        // 这是全局文字样式相对应的还可以每个设置字体样式
        textStyle: {
          fontFamily: 'sans-serif',
          fontWeight: 'bold',
          // 颜色可以一个函数返回字符串
          color: function () {
            // Random color
            return 'rgb(' + [
              Math.round(Math.random() * 160),
              Math.round(Math.random() * 160),
              Math.round(Math.random() * 160)
            ].join(',') + ')';
          },
          emphasis: {
            shadowBlur: 2,
            shadowColor: '#333'
          }
        },
        // Data is an array. Each array item must have name and value property.
        data: data
      }]
  }
  option && myChart.setOption(option);
  window.addEventListener("resize", () => {
    if (myChart) {
      myChart.resize();
    }
  });
}
</script&gt;

<template&gt;
  <div ref="wordcloudRef" class="wordcloud"&gt;</div>
</template>

<style lang="scss" scoped>
.wordcloud {
  width: 700px;
  height: 500px;
}
</style>

效果如下
在这里插入图片描述

原文地址:https://blog.csdn.net/m0_52611940/article/details/128380601

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_19117.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注