Как отобразить метки на круговой диаграмме - PullRequest
0 голосов
/ 29 июля 2010

Я занимаюсь разработкой приложения с круговой диаграммой. Я хочу отобразить значения (используемые для создания круговой диаграммы) для отображения в центре соответствующей области.

Я использую этот код для рисования круговой диаграммы:

  CGContextSetRGBFillColor(ctx, 0.52, 0.63, 0.31, 1.0);
  CGContextMoveToPoint(ctx, posX, posY);
  CGContextAddArc(ctx, posX, posY, r,(startDeg)*M_PI/180.0, (endDeg)*M_PI/180.0, 0);
  CGContextClosePath(ctx);
  CGContextFillPath(ctx);

Я могу добавить метки в верхней части круговой диаграммы, но не могу разместить метку в центре области.

Может кто-нибудь помочь мне с этим вопросом. Это очень срочно и важно. Я потратил много времени на эту проблему ...

Спасибо

Ответы [ 2 ]

1 голос
/ 30 июля 2010

«Центр» области - это плохо сформулированное понятие, когда вы говорите о кусочке пирога. Вот что я бы сделал:

Возьмите угол на полпути между startDeg и endDeg вместе с радиусом примерно от 1/2 до 2/3 r и поставьте там центр своей этикетки. Необходимо преобразование полярных координат в прямоугольные, которые, если вы забыли:

x = r * cos(angle);
y = r * sin(angle);
0 голосов
/ 25 ноября 2013

Отображение метки для круговой диаграммы требует немного математики. HUChart - нарисовать половину круговой диаграммы, но я думаю, что вы найдете там некоторую полезную информацию.

...