Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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)

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.