Skip to content

Clockwise pie diagram #2537

Closed
Closed

Description

@fat-crocodile

Hi! Please, add this feature. My diff in axes.py looks quite simple:

--- /home/sh/Downloads/matplotlib-1.3.1/lib/matplotlib/axes.py 2013-10-10 16:42:48.000000000 +0400
+++ matplotlib/axes.py  2013-10-23 16:52:11.793788510 +0400
@@ -5307,7 +5307,7 @@
 
     def pie(self, x, explode=None, labels=None, colors=None,
             autopct=None, pctdistance=0.6, shadow=False,
-            labeldistance=1.1, startangle=None, radius=None):
+            labeldistance=1.1, startangle=None, radius=None, counterclock=True):
         r"""
         Plot a pie chart.
 
@@ -5420,12 +5420,12 @@
         i = 0
         for frac, label, expl in cbook.safezip(x, labels, explode):
             x, y = center
-            theta2 = theta1 + frac
+            theta2 = theta1 + frac if counterclock else theta1 - frac
             thetam = 2 * math.pi * 0.5 * (theta1 + theta2)
             x += expl * math.cos(thetam)
             y += expl * math.sin(thetam)
 
-            w = mpatches.Wedge((x, y), radius, 360. * theta1, 360. * theta2,
+            w = mpatches.Wedge((x, y), radius, 360. * min(theta1, theta2), 360. * max(theta1, theta2),
                       facecolor=colors[i % len(colors)])
             slices.append(w)
             self.add_patch(w)

Activity

  1. mdboom commented on Oct 23, 2013

    @mdboom
    Member

    Can you add a regression test and a what's new entry?

  2. fat-crocodile commented on Oct 23, 2013

    @fat-crocodile
    ContributorAuthor

    I think yes, if you give me a link to some tutorial. I am novice here and don't know what type of regression test you want, and what and where write about what's new (do you mean just add new input parameter in function comment?)

    Back compatibility seems obvious, if counterclock is True, new code works just like old one.

  3. tacaswell commented on Feb 26, 2014

    @tacaswell
    Member

    @fat-crocodile Have you been able to work in this? It would be nice to get this into 1.4.0.

  4. fat-crocodile commented on Feb 26, 2014

    @fat-crocodile
    ContributorAuthor

    Your english is too good for me, sorry, I can not understand precisely what are you asking for.

    This code works good in my project, diff looks quite simple. If I shall do something to help you include this code in 1.4.0, tell me please what shall I do.

  5. tacaswell commented on Feb 26, 2014

    @tacaswell
    Member

    Do you know how to use git/github well enough to create a pull request?

    There is a file in the documentation folder whats_new.rst which should have a description of this change added. For the test, basically copy one of the existing image tests.

    If you can please make a pull request. If not then I will take care of this.

  6. fat-crocodile commented on Feb 28, 2014

    @fat-crocodile
    ContributorAuthor
  7. tacaswell commented on Mar 8, 2014

    @tacaswell
    Member

    Closing this in favor of the open PR (#2853)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions