functiongetLineColor(ctx){return Utils.color(ctx.datasetIndex);}functionalternatePointStyles(ctx){const index = ctx.dataIndex;return index %2===0?'circle':'rect';}functionmakeHalfAsOpaque(ctx){return Utils.transparentize(getLineColor(ctx));}functionmake20PercentOpaque(ctx){return Utils.transparentize(getLineColor(ctx),0.8);}functionadjustRadiusBasedOnData(ctx){const v = ctx.parsed.y;return v <10?5: v <25?7: v <50?9: v <75?11:15;}const config ={type:'radar',data: data,options:{plugins:{legend:false,tooltip:false,},elements:{line:{backgroundColor: make20PercentOpaque,borderColor: getLineColor,},point:{backgroundColor: getLineColor,hoverBackgroundColor: makeHalfAsOpaque,radius: adjustRadiusBasedOnData,pointStyle: alternatePointStyles,hoverRadius:15,}}}};
functiongenerateData(){return Utils.numbers({count:DATA_COUNT,min:0,max:100});}const data ={labels:[['Eating','Dinner'],['Drinking','Water'],'Sleeping',['Designing','Graphics'],'Coding','Cycling','Running'],datasets:[{data:generateData()}]};