Skip to main content

Making Gantt charts in matplotlib

Project description

Granttpy

When you want to make a Gantt chart look nice for a grant or whatever

Example Gantt chart

Installation

You can install directly from this repository via

pip install grantt

As a side-note, we recommend installing with uv using

uv pip install grantt

Example

After grantt is installed, copy the script from here into ex.py and run python ex.py (or python3 depending on your installation).

Basic instructions

Making a Gantt chart is as easy as making different grantt.Elements, the parent class for all the different things on the chart. Type help(grantt.Element) to see the fields for the constructor: most of them should be self-explanatory, but here are a few notes on the more cryptic fields.

  • zorder_delta: how much precedent the element should have when displaying on top of (or behind) other objects
  • level_increment: The chart is generated by starting from the top and moving down. Every time that an element with a nonzero increment is added, the following elements are below it vertically. If you have two elements overlapping vertically, try increasing the level_increment of one.
  • textalignment: takes left, right, or center.
  • Any colors (i.e., color or textcolor) take in any argument that MPL would (e.g., k for black or #FF0000 for red, etc).

grantt.Span

A grantt.Span just spans an amount of time, generally acting as a divider between two vertically adjacent sections. It has a start and end date as well as an adjustable edge height for the prongs on the sides.

grantt.Period

A grantt.Period also spans an amount of time, but acts more as a time period that one might work on a task. These are represented by thicker lines; therefore, you may be interested in changing lw, the linewidth of the element.

grantt.Event

A grantt.Event is a point in time that something happens with no duration---think milestone or deadline. Along with choosing the date of the deadline, you can customize the marker and its markersize (which will need to be done based on the aspect ratio and scaling of the figure).

Defaults

There are several defaults that you can customize using Gantt.set_X, where X is the option.

  • marker: default marker for grantt.Event elements
  • markersize: default markersize for grantt.Event elements
  • linewidth: default linewidth for grantt.Period elements
  • textcolor: default textcolor for all elements
  • span_edge_height: default height of the edge brackets for grantt.Span elements
  • luminance_threshold: the threshold for automatically switching between white and black text in grantt.Period elements based on their color.

Project details


Download files

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

Source Distribution

grantt-0.1.4.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grantt-0.1.4-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file grantt-0.1.4.tar.gz.

File metadata

  • Download URL: grantt-0.1.4.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for grantt-0.1.4.tar.gz
Algorithm Hash digest
SHA256 2f89bd05077e748bf293a1db40903823a3733932acbd810c04c5730ba32caa9f
MD5 7f2b2f62eda8ec4844aa960327301dd8
BLAKE2b-256 2495404c3c0db367bebdadf176f053f62247ce2618a42d8fd0ac8773fbf1af41

See more details on using hashes here.

Provenance

The following attestation bundles were made for grantt-0.1.4.tar.gz:

Publisher: python-package.yml on dannys4/granttpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file grantt-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: grantt-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for grantt-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f6910d988be8cb5164dd01a2931d1847db6d25eae6a366deca6769eaeb6a9e95
MD5 e63b06567a9b70b6bd6f0c88a9c7c3dc
BLAKE2b-256 7ce94976e49f4ae9d2312748084eddc4b5477d384db10c5530c8f68080feebac

See more details on using hashes here.

Provenance

The following attestation bundles were made for grantt-0.1.4-py3-none-any.whl:

Publisher: python-package.yml on dannys4/granttpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page