- 在项目中 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’ - 准备工作完成之后就要进行具体的实现了。由于目前的echarts-wordcloud中还不支持rem,所以要想适配2k和4k就要使用到media query。根据你当前所在终端的大小设置不同的font-size,paddingWidth等等。将2k和4k的样式分别写在baseOption对象和media数组中。
- 在项目中我默认我当前使用的2k大屏,所以将2k的实现放在baseOption中,将4k的放在media中。
- baseOption中含有一个series数组,我们需要在这个数组中定义对应的样式。这个数组里又包括了一些定义的相当于全局的样式吧(不知道我这样子说是不是对的)以及textStyle文字的样式以及data数组(定义词云展示的数据)。textStyle对象中又包括normal对象(设置为被选中元素的样式)和emphasis对象(被选中元素的样式)两个部分。
- media中包括query对象和option对象两个部分,query中可以对设备进行一个界定。比如当你的词云部分在4k大屏中所占宽度为780px在2k大屏中所占宽度为390px时。那么就可以把query设置为:
query: {
minWidth: 700,
},
当然,这个只是我自己的界定。
option中和baseOption中是类似的。 - 具体的代码实现。
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在vue中适配2k,4k
最新推荐文章于 2025-07-10 23:23:24 发布