张雄 3 years ago
parent 7ac480e529
commit 43cbd4ea14

@ -17,6 +17,31 @@ function doWordCloud(data) {
}
return arr1;
}
// 气泡大小算法
function bubbleDivide(val, maxVal, size) {
let percent = val / maxVal * 1.00;
if (0.15<percent<=0.25) {
return size * 1.5;
} else if (0.25<percent<=0.35) {
return size * 2.7;
} else if (0.35<percent<=0.45) {
return size * 3.6;
} else if (0.45<percent<=0.52) {
return size * 4.3;
} else if (0.52<percent<=0.58) {
return size * 4.9;
} else if (0.58<percent<=0.66) {
return size * 5.4;
} else if (0.66<percent<=0.80) {
return size * 5.8;
} else if (0.80<percent<=0.90) {
return size * 6.1;
} else if (0.90<percent<=1.00) {
return size * 6.3;
} else {
return size * 1.0;
}
}
// 创建词云的对象
function bubbleChart(data = [], format = []) {
let [maxValue, temp] = [0, []];
@ -74,22 +99,8 @@ function bubbleChart(data = [], format = []) {
let bakeColor = [...color];
// 气泡数据
let bubbleData = [];
// 气泡基础大小
let basicSize = 20;
// 节点之间的斥力因子,值越大,气泡间距越大
let repulsion = 380;
// 根据气泡数量配置基础大小和斥力因子(以实际情况进行适当调整,使气泡合理分布)
if (data.length >= 5 && data.length < 10) {
basicSize = 20;
repulsion = 230;
}
if (data.length >= 10 && data.length < 20) {
basicSize = 30;
repulsion = 150;
} else if (data.length >= 20) {
basicSize = 40;
repulsion = 65;
}
let basicSize = 20; //基础大小
let repulsion = 90; //斥力因子
// 填充气泡数据数组bubbleData
for (let item of data) {
// 确保气泡数据条数少于或等于气泡颜色数组大小时,气泡颜色不重复
@ -102,8 +113,8 @@ function bubbleChart(data = [], format = []) {
colorSet.delete(curColor);
bakeColor = [...colorSet];
// 气泡大小设置
let size = (item[format[1]] * basicSize * 2) / maxValue;
if (size < basicSize) size = basicSize;
//let size = (item[format[1]] * basicSize * 2) / maxValue;
let size = bubbleDivide(item[format[1]],maxValue,basicSize);
bubbleData.push({
name: item[format[0]],

@ -26,14 +26,14 @@ import createOpt from "./opt"
import { getAffectionsTime } from "@/api/EventdEC";
export default {
name: "tonalCommunicationPosture",
data() {
return {
props: {
props: {
id: {
type: String,
default: "",
},
},
data() {
return {
opt: {},
selDatas: [
{

Loading…
Cancel
Save