Making Gantt charts in matplotlib
Project description
Granttpy
When you want to make a Gantt chart look nice for a grant or whatever
Installation
You can install directly from this repository via
pip install "git+https://github.com/dannys4/granttpy"
As a side-note, we recommend installing with uv using
uv pip install "git+https://github.com/dannys4/granttpy"
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 objectslevel_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 thelevel_incrementof one.textalignment: takesleft,right, orcenter.- Any
colors (i.e.,colorortextcolor) take in any argument that MPL would (e.g.,kfor black or#FF0000for 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 forgrantt.Eventelementsmarkersize: default markersize forgrantt.Eventelementslinewidth: default linewidth forgrantt.Periodelementstextcolor: default textcolor for all elementsspan_edge_height: default height of the edge brackets forgrantt.Spanelementsluminance_threshold: the threshold for automatically switching between white and black text ingrantt.Periodelements 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grantt-0.1.2.tar.gz.
File metadata
- Download URL: grantt-0.1.2.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
149bacf36538a874327c6611ad4f2566b235399137c06104773c368ef6959456
|
|
| MD5 |
0ee046fef6c19838cf2dcfa4dda9d48f
|
|
| BLAKE2b-256 |
4defb68216614acf4a1ffc8309378a3a2c7a70e4c25c69042f5d3b99aa7d63e8
|
File details
Details for the file grantt-0.1.2-py3-none-any.whl.
File metadata
- Download URL: grantt-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e78ab35bbb10a05d75eed52ff3577f2de516f32c58715f6626f670c204307dfd
|
|
| MD5 |
b6b538351fd7e1382efcf624411c0eac
|
|
| BLAKE2b-256 |
a87e08b3c3ae13346eb4bddf7c247300884b1e90c5c80a5b43c99c13e10b0f26
|