遇到的问题:怎么改变词云的颜色(用UI设计的颜色,用文心一言用了好多次都没有得到答案,最后百度到答案 )
echarts-wordcloud是基于echarts的一个词云库,但是在echart官网中的配置相中却没有关于他的介
先下载:npm install echarts-wordcloud
在使用
const colorList= [ "#0DD3D5", "#6C62EF", "#317BF5", "#4872EA", "#39C5FF", "#FFFFFF", "#BFCE5D", "#66C97D", "#FEBD40", "#b2b2b2", ]; const myChart = ref(null); const initChart = () => { if (!document.getElementById(props.id)) return; if (myChart.value) { myChart.value.dispose(); } myChart.value = markRaw( echarts.init(document.getElementById(props.id), null, { renderer: "svg" }) ); window.onresize = myChart.value.resize; let option = { series: [ { type: "wordCloud", gridSize: 20, shape: 'pentagon',// 词云形状,默认circle(圆形),cardioid(心形)、diamond(菱形 正方形)、triangle-forward、triangle(三角形)、star(星形)、pentagon (五边形); sizeRange: [10, 50], // 字体大小范围 rotationRange: [0, 0],// 设置文字倾斜角度 drawOutOfBound: false, textStyle: { fontFamily: "sans-serif", fontWeight: "normal", color: function (params) { return colorList[params.dataIndex]; // 自定义颜色函数 }, }, data: props.data, }, ], }; myChart.value.setOption(option, true); // 添加点击事件 myChart.value.on("click", function (params) { // params 是包含点击事件相关信息的对象 // 例如,你可以通过 params.name 获取被点击的词的名称 console.log("点击了词:", params.data); if (props.currentId === 1 || props.currentId === 3) { emit("handlelog", { showDialog: true, showDialogAi: false, ...params.data, }); } else { emit("handlelogAi", { showDialog: false, showDialogAi: true, ...params.data, }); } // 在这里可以添加你自己的逻辑,比如根据点击的词更新其他图表的数据等 }); };
const emit = defineEmits(["handlelog", "handlelogAi"]);
vue3的项目,改变颜色的方法如上,还增加了点击热词(点击事件),弹窗展示具体的东西
npm install echarts npm install echarts-wordcloud