In 1.27 (and probably other versions) pChart.class will change all zero values to 1 before calculating the size of the slice. If you are using very large numbers this isn't really an issue as it will give you a very small slice that it uses to represent 0%. However if you are using small number like [0,0,3] this will give the two 0% slices 20% of the pie (1/(1+1+3)) which just looks horrible. If you don't want to show 0 slices at all but still want their label to show up in the key then comment out the line "$PieSum++; $iValues[] = 1; $rValues[] = 0;" (line 1989 in version 1.27) that is part of this if statement:
if ( $Data[$Key][$ColName] == 0 )
{$PieSum++; $iValues[] = 1; $rValues[] = 0;}
else
{ $PieSum += $Data[$Key][$ColName]; $iValues[] = $Data[$Key][$ColName]; $iLabels[] = $Data[$Key][$DataDescription["Position"]]; $rValues[] = $Data[$Key][$ColName]; $rPieSum += $Data[$Key][$ColName];}
}
If you still want to show the 0% slices comment out "$PieSum++: and change "$iValues[] = 1;" to "$iValues[] = 0;"