Forum Discussion
harikm007
03-18-2022Data Warehouse
HamzaJ I'm able to reproduce the issue when I created pie chart using individual measures. Here is the updated script:
widget.on('processresult', function(se, ev){
ev.result.plotOptions.pie.startAngle= -90,
ev.result.plotOptions.pie.endAngle= 90,
ev.result.plotOptions.pie.center= ['50%', '85%'],
ev.result.plotOptions.pie.size= '110%'
ev.result.plotOptions.pie.innerSize= '50%'
})
widget.on("ready", function(w, args){
var percent = 75 //Percentage value to display line
sum = 0
sum3 = 0
$.each(args.widget.rawQueryResult.values, function(index, value){
sum=sum + value.data
if(index < 3)
sum3 = sum3 + value.data
})
averagevalue = parseInt(sum * 0.7)
chart = w.chart[0][Object.keys(w.chart[0])[0]].hc
console.log(w)
var point = chart.series[0].data[0];
var dx = chart.plotBox.x,
dy = chart.plotBox.y;
var radius = chart.series[0].data[0].shapeArgs.r;
var angle = ((100 - percent)*-3.142)/100
x = (radius * 1.2 * Math.cos(angle)) + point.shapeArgs.x,
y = (radius * 1.2 * Math.sin(angle)) + point.shapeArgs.y;
var x2 = (radius * 0.5 * Math.cos(angle)) + point.shapeArgs.x,
y2 = (radius * 0.5 * Math.sin(angle)) + point.shapeArgs.y;
chart.renderer.path({
'stroke': '#4ead2f', //Color of line
'stroke-width': 3,
zIndex: 3,
'd': ['M', x2 + dx, y2 + dy, 'L', x + dx, y + dy]
}).add();
var text = chart.renderer.text(
'Norm <br> ' +averagevalue,
x + dx+20, y + dy - 15
).attr({
zIndex: 5
}).add(),
box = text.getBBox();
text.attr({
dx: -box.width / 2
});
var text = chart.renderer.text(
'<b>0</b>',
(radius * 0.9 * Math.cos(3.0)) + point.shapeArgs.x-10, //Change 10 to adjust position of value
(radius * 0.9 * Math.sin(3.0)) + point.shapeArgs.y
).attr({
zIndex: 5
}).add(),
box = text.getBBox();
text.attr({
dx: -box.width / 2
});
var text = chart.renderer.text(
'<b>' + sum + '</b>',
(radius * 1 * Math.cos(0.01)) + point.shapeArgs.x+10, //Change 10 to adjust position of value
(radius * 1 * Math.sin(0.01)) + point.shapeArgs.y+35 //Change 35 to adjust position of value
).attr({
zIndex: 5
}).add(),
box = text.getBBox();
text.attr({
dx: -box.width / 2
});
var text = chart.renderer.text(
'<b>' + sum3 + '</b>',
point.shapeArgs.x+10,
point.shapeArgs.y
).attr({
zIndex: 5
}).add(),
box = text.getBBox();
text.attr({
dx: -box.width / 2
});
});
-Hari