def create_pie_chart ( self , snapshot , filename = '' ) : try : from pylab import figure , title , pie , axes , savefig from pylab import sum as pylab_sum except ImportError : return self . nopylab_msg % ( "pie_chart" ) # Don't bother illustrating a pie without pieces. if not snapshot . tracked_total : return '' classlist = [ ] sizelist = [ ] for k , v in list ( snapshot . classes . items ( ) ) : if v [ 'pct' ] > 3.0 : classlist . append ( k ) sizelist . append ( v [ 'sum' ] ) sizelist . insert ( 0 , snapshot . asizeof_total - pylab_sum ( sizelist ) ) classlist . insert ( 0 , 'Other' ) #sizelist = [x*0.01 for x in sizelist] title ( "Snapshot (%s) Memory Distribution" % ( snapshot . desc ) ) figure ( figsize = ( 8 , 8 ) ) axes ( [ 0.1 , 0.1 , 0.8 , 0.8 ] ) pie ( sizelist , labels = classlist ) savefig ( filename , dpi = 50 ) return self . chart_tag % ( self . relative_path ( filename ) )
how to make a pie chart in python matplotlib
Create a pie chart that depicts the distribution of the allocated memory for a given snapshot . The chart is saved to filename .
def create_pie_chart(self, snapshot, filename=''):
        """
        Create a pie chart that depicts the distribution of the allocated memory
        for a given `snapshot`. The chart is saved to `filename`.
        """
        try:
            from pylab import figure, title, pie, axes, savefig
            from pylab import sum as pylab_sum
        except ImportError:
            return self.nopylab_msg % ("pie_chart")

        # Don't bother illustrating a pie without pieces.
        if not snapshot.tracked_total:
            return ''

        classlist = []
        sizelist = []
        for k, v in list(snapshot.classes.items()):
            if v['pct'] > 3.0:
                classlist.append(k)
                sizelist.append(v['sum'])
        sizelist.insert(0, snapshot.asizeof_total - pylab_sum(sizelist))
        classlist.insert(0, 'Other')
        #sizelist = [x*0.01 for x in sizelist]

        title("Snapshot (%s) Memory Distribution" % (snapshot.desc))
        figure(figsize=(8,8))
        axes([0.1, 0.1, 0.8, 0.8])
        pie(sizelist, labels=classlist)
        savefig(filename, dpi=50)

        return self.chart_tag % (self.relative_path(filename))