This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Pareto chart for python (similar to Matlab's, but much more flexible)

Project Description

Pareto chart for python (similar to Matlab, but much more flexible).


  • Data labels for the chart x-axis.
  • Fully customizable with unique arg and kwarg inputs:
  • Put the chart on arbitrary axes.


First, a simple import:

from paretochart import pareto

Now, let’s create the numeric data (no pre-sorting necessary):

data = [21, 2, 10, 4, 16]

We can even assign x-axis labels (in the same order as the data):

labels = ['tom', 'betty', 'alyson', 'john', 'bob']

For this example, we’ll create 4 plots that show the customization capabilities:

import matplotlib.pyplot as plt

# create a grid of subplots
fig, axes = plt.subplots(2, 2)

The first plot will be the simplest usage, with just the data:

pareto(data, axes=axes[0, 0])
plt.title('Basic chart without labels', fontsize=10)

In the second plot, we’ll add labels, put a cumulative limit at 0.75 (or 75%) and turn the cumulative line green:

pareto(data, labels, axes=axes[0, 1], limit=0.75, line_args=('g',))
plt.title('Data with labels, green cum. line, limit=0.75', fontsize=10)

In the third plot, we’ll remove the cumulative line and limit line, make the bars green and resize them to a width of 0.5:

pareto(data, labels, cumplot=False, axes=axes[1, 0], data_kw={'width': 0.5,
    'color': 'g'})
plt.title('Data without cum. line, green bar width=0.5', fontsize=10)

In the fourth plot, let’s put the cumulative limit at 95% and make that line yellow:

pareto(data, labels, limit=0.95, axes=axes[1, 1], limit_kw={'color': 'y'})
plt.title('Data trimmed at 95%, yellow limit line', fontsize=10)

And last, but not least, let’s show the image:

fig.canvas.set_window_title('Pareto Plot Test Figure')

This should result in the following image (click here if the image doesn’t show up):


Since this is really a single python file, you can simply go to the GitHub page, simply download and put it in a directory that python can find it.

Alternatively, the file can be installed using:

$ pip install --upgrade paretochart


$ easy_install --upgrade paretochart

If you are using Python3, download the compressed file from here, unzip and run:

$ 2to3 -w *.py

while in the unzipped directory, then run:

$ python3 install

NOTE: Administrative privileges may be required to perform any of the above install methods.


Please send feature requests, bug reports, or feedback to Abraham Lee.

Release History

Release History

This version
History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
paretochart-1.0.tar.gz (5.7 kB) Copy SHA256 Checksum SHA256 Source Sep 5, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting