This manufactured example is typical of many real world cases where we have thin slices of the pie:

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]

enter image description here

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)

  • 1
    $\begingroup$ I still have this problem with Mathematica 12.2 $\endgroup$ Dec 20 '20 at 6:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.