echarts-wordcloud在vue中适配2k,4k

本文介绍了如何在Vue项目中使用echarts-wordcloud并适配不同分辨率,如2k和4k屏幕。通过在main.js中引入echarts和echarts-wordcloud,然后利用media query设置不同分辨率下的font-size和paddingWidth。在baseOption中配置2k屏幕样式,media数组中设置4k屏幕样式,调整series的文字样式、data数组和布局参数,确保在不同分辨率下词云图的展示效果。

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

  1. 在项目中 install 并在main.js文件中引入 echarts以及在你使用到echarts-wordcloud的vue组件中引入 (因为echarts-wordcloud是echarts的扩展所以需要单独的引用)
    npm install echarts
    npm install echarts-wordcloud

    main.js
    *import echarts from ‘你对应下载的目录’
    .vue文件
    import ‘echarts-wordcloud’
  2. 准备工作完成之后就要进行具体的实现了。由于目前的echarts-wordcloud中还不支持rem,所以要想适配2k和4k就要使用到media query。根据你当前所在终端的大小设置不同的font-size,paddingWidth等等。将2k和4k的样式分别写在baseOption对象和media数组中。
  3. 在项目中我默认我当前使用的2k大屏,所以将2k的实现放在baseOption中,将4k的放在media中。
  4. baseOption中含有一个series数组,我们需要在这个数组中定义对应的样式。这个数组里又包括了一些定义的相当于全局的样式吧(不知道我这样子说是不是对的)以及textStyle文字的样式以及data数组(定义词云展示的数据)。textStyle对象中又包括normal对象(设置为被选中元素的样式)和emphasis对象(被选中元素的样式)两个部分。
  5. media中包括query对象和option对象两个部分,query中可以对设备进行一个界定。比如当你的词云部分在4k大屏中所占宽度为780px在2k大屏中所占宽度为390px时。那么就可以把query设置为:
    query: {
    minWidth: 700,
    },
    当然,这个只是我自己的界定。
    option中和baseOption中是类似的。
  6. 具体的代码实现。
    series: [
    {
    type: ‘wordCloud’,
    sizeRange: [12, 20],
    padding: 20,
    textStyle: {
    //未被选中元素的样式
    normal: {
    show: true,
    color: ‘#01d4f2’,
    backgroundColor: ‘#0b3a54’,
    borderColor: ‘#3dacc8’,
    borderWidth: 1,
    borderRadius: 5,
    padding: [16, 14, 16, 14],
    },
    emphasis: {
    //被选中元素的样式
    color: ‘#fff’,
    backgroundColor: ‘#208ba6’,
    borderColor: ‘#38d0f6’,
    },
    },
    data: [
    //你定义的数据
    ],
    width: ‘100%’,
    height: ‘100%’,
    rotationRange: [0, 0],
    // 网格之间的距离
    gridSize: 30,
    },
    ],
    },
    media: [
    {
    query: {
    minWidth: 700,
    },
    option: {
    series: [
    {
    type: ‘wordCloud’,
    sizeRange: [24, 40],
    padding: 40,
    textStyle: {
    normal: {
    show: true,
    color: ‘#01d4f2’,
    backgroundColor: ‘#0b3a54’,
    borderColor: ‘#3dacc8’,
    borderWidth: 2,
    borderRadius: 10,
    padding: [32, 28, 32, 28],
    },
    emphasis: {
    color: ‘#fff’,
    backgroundColor: ‘#208ba6’,
    borderColor: ‘#38d0f6’,
    },
    },
    width: ‘100%’,
    height: ‘100%’,
    rotationRange: [0, 0],
    gridSize: 60,
    },
    ],
    }
    // media query部分
    media: [
    {
    query: {
    minWidth: 700,
    },
    option: {
    series: [
    {
    type: ‘wordCloud’,
    sizeRange: [24, 40],
    padding: 40,
    textStyle: {
    normal: {
    show: true,
    color: ‘#01d4f2’,
    backgroundColor: ‘#0b3a54’,
    borderColor: ‘#3dacc8’,
    borderWidth: 2,
    borderRadius: 10,
    padding: [32, 28, 32, 28],
    },
    emphasis: {
    color: ‘#fff’,
    backgroundColor: ‘#208ba6’,
    borderColor: ‘#38d0f6’,
    },
    },
    width: ‘100%’,
    height: ‘100%’,
    rotationRange: [0, 0],
    gridSize: 60,
    },
    ],
    },
    },
    ],
### 如何下载 `echarts-wordcloud` 文件 可以通过以下两种方式获取 `echarts-wordcloud` 插件: #### 方法一:通过 npm 下载 如果项目环境支持 Node.js 和 npm,则可以直接使用命令行工具安装该插件。以下是具体操作步骤: 运行以下命令以安装最新版本的 `echarts-wordcloud`: ```bash npm install echarts-wordcloud ``` 如果你需要特定版本(例如 2.0.0),可以指定版本号进行安装: ```bash npm install echarts-wordcloud@2.0.0 ``` 对于 ECharts 版本低于 5.0 的情况,可以选择安装兼容的老版本: ```bash npm install echarts-wordcloud@1 ``` 完成安装后,在项目的入口文件中引入插件即可[^1]。 #### 方法二:手动下载并集成到项目中 如果不希望通过 npm 安装,也可以访问官方仓库或 CDN 获取静态资源文件。以下是实现过程: 1. **从 GitHub 手动下载** 访问 `echarts-wordcloud` 的官方 GitHub 页面 (https://github.com/ecomfe/echarts-wordcloud),点击“Code”按钮选择下载 ZIP 文件解压至本地目录。 2. **通过 CDN 引入** 如果仅需临时测试功能而无需打包部署,可直接在 HTML 中通过 `<script>` 标签加载远程脚本: ```html <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/echarts-wordcloud/dist/echarts-wordcloud.min.js"></script> ``` 注意:当采用此方法时,请确保网络连接稳定以及目标 URL 可正常访问[^2]。 关于如何初始化图表组件及配置项相关内容已在先前文档中有详细介绍[^3];另外还有基于 Vue 框架集成了 TF-IDF 算法生成关键词频率分布图的应用案例可供参考学习[^4]。 ```javascript // 示例代码片段展示基本用法 import * as echarts from 'echarts'; import 'echarts-wordcloud'; const chartDom = document.getElementById('main'); const myChart = echarts.init(chartDom); var data = [{name:'test',value:1}]; myChart.setOption({ series:[{ type:"wordCloud", data:data, }] }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值