Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Generate GitHub-style punchcard charts with ease.
Python
Branch: master
Failed to load latest commit information.
.gitignore added .gitignore
LICENSE.md added LICENSE
README.md Update README.md
convert.py auto-detect integer types
punchcard.py rendering tweak
sample.csv updated sample
sizers.py major overhaul using my fancy sizers

README.md

Punchcard

Generate GitHub-style punchcard charts with ease.

python punchcard.py sample.csv output.png "Sample Chart"

Sample

Dependencies

brew install py2cairo pango pygtk

Command Line

python punchcard.py input.csv output.png [title]

Programmatically

punchcard(png_path, data, row_labels, col_labels)

data must be a two-dimensional array of data for the punchcard chart (a list of lists where each list is a row). len(data) == len(row_labels) and len(data[0]) == len(col_labels)

The following keyword arguments are also allowed.

keyword default description
padding 12 padding between chart, labels and boundary
cell_padding 4 padding between circles and cell edges
min_size 4 minimum circle size, for smallest value
max_size 32 maximum circle size, for largest value
min_color 0.8 grayscale value for smallest value
max_color 0.0 grayscale value for largest value
font 'Helvetica' facename used for labels
font_size 14 font size for labels
font_bold False bold labels
title None title text, optional
title_font 'Helvetica' facename used for title
title_font_size 20 font size for title
title_font_bold True bold title
diagonal_column_labels False diagonal column labels
Something went wrong with that request. Please try again.