uni-app 词云图

发布于 1周前 作者 zlyuanteng 来自 Uni-App

uni-app 词云图

找了没有,想要词云图,vue的就有,但是搬到uniapp用不了,看看哪位高手弄一下。
3 回复

承接双端(Android,iOS)原生插件开发,uni-app外包项目开发。
接受已有项目的二次开发、修改功能、修复问题bug等任何开发相关的单
QQ:1559653449 VX:fan-rising


在uni-app中实现词云图,可以利用ECharts这个强大的图表库。ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型,包括词云图。下面是一个简单的示例,展示如何在uni-app中集成ECharts并绘制一个词云图。

1. 安装ECharts

首先,你需要在uni-app项目中安装ECharts。如果你使用的是npm或yarn,可以运行以下命令:

npm install echarts --save
# 或者
yarn add echarts

2. 创建组件

接下来,创建一个新的组件来显示词云图。假设我们创建一个名为WordCloud.vue的组件。

<template>
  <view class="container">
    <ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
  </view>
</template>

<script>
import * as echarts from 'echarts';

export default {
  data() {
    return {
      ec: {
        onInit: this.initChart
      }
    };
  },
  methods: {
    initChart(canvas, width, height, dpr) {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr // 新增参数
      });
      canvas.setChart(chart);

      const option = {
        series: [{
          type: 'wordCloud',
          gridSize: 20,
          sizeRange: [12, 50],
          rotationRange: [-45, 0, 45, 90],
          shape: 'circle',
          width: '100%',
          height: '100%',
          drawOutOfBound: false,
          textStyle: {
            normal: {
              color: function () {
                return 'rgb(' + [
                  Math.round(Math.random() * 160),
                  Math.round(Math.random() * 160),
                  Math.round(Math.random() * 160)
                ].join(',') + ')';
              }
            },
            emphasis: {
              shadowBlur: 10,
              shadowColor: '#333'
            }
          },
          data: [
            {name: 'Sam S Club', value: 10000},
            {name: 'Macys', value: 6181},
            {name: 'Amy Schumer', value: 4386},
            // 更多数据项...
          ]
        }]
      };

      chart.setOption(option);
      return chart;
    }
  }
};
</script>

<style scoped>
.container {
  width: 100%;
  height: 100%;
}
</style>

3. 使用组件

在你的页面中使用这个组件,比如index.vue

<template>
  <view>
    <WordCloud />
  </view>
</template>

<script>
import WordCloud from '@/components/WordCloud.vue';

export default {
  components: {
    WordCloud
  }
};
</script>

这个示例展示了如何在uni-app中集成ECharts并绘制一个简单的词云图。你可以根据自己的需求调整option中的配置和数据。希望这个示例能帮助你在uni-app中实现词云图。

回到顶部