Fix inconsistent label positions on piecharts.
authorJohn Darrington <john@darrington.wattle.id.au>
Fri, 28 May 2010 11:49:43 +0000 (13:49 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Fri, 28 May 2010 11:49:43 +0000 (13:49 +0200)
The labels of piechart slices did not match the positions
of the slices (possibly due to libplot legacy).  This
change fixes this problem.

src/output/charts/piechart-cairo.c

index 501c0bd466adb7cf2d391ba0ec6d86d5285afcd0..3917e4e14b4833b04c6519a724ce5fe728095410 100644 (file)
@@ -81,11 +81,11 @@ xrchart_draw_piechart (const struct chart_item *chart_item, cairo_t *cr,
       const double segment_angle =
        pie->slices[i].magnitude / total_magnitude * 2 * M_PI ;
 
-      const double label_x = centre_x -
-       radius * sin(angle + segment_angle/2.0);
+      const double label_x = centre_x +
+       radius * cos (angle + segment_angle/2.0);
 
       const double label_y = centre_y +
-       radius * cos(angle + segment_angle/2.0);
+       radius * sin (angle + segment_angle/2.0);
 
       /* Fill the segment */
       draw_segment (cr,