This manufactured example is typical of many real world cases where we have thin slices of the pie:
Clear[labeler];
labeler[datax_][v_, {1, c_}, ___] := Placed[Column[{datax[[c]], v}, Alignment -> Center,
BaseStyle -> Directive[FontFamily -> "Arial", 11]],"VerticalCallout"];
data = Transpose[{"This is label " <> ToString[#] & /@ Range[14],Range[14]}];
PieChart[data[[All, 2]],
ChartStyle -> 54,
ImageSize -> {All, 300},
ImagePadding -> Automatic,
LabelingFunction -> labeler[data[[All, 1]]],
PerformanceGoal -> "Performance",
PlotRange -> All,
SectorOrigin -> {Automatic, 0},
SectorSpacing -> 0.15]

It seems inevitable that when thin pie slices are adjacent you will have overlap problems with RadialCallout labels but it seems to me that VerticalCallout should have labels evenly spaced on the left and right side of the pie chart.
Is the (non evenly spaced) distribution of labels as per the image a bug or intended?
Does anyone know how to create evenly spaced vertical labels with built in options? (I can probably do this with my own code given enough time and patience but am looking for built in solutions)
Comments
Post a Comment