Gantt charts have been on the to-do list for a very long time, so when someone asked me about them recently I went through all the things I needed to get them working and realised I already had most of it. So here they are.
These are a type of horizontal floating bar chart where the bars represent lengths of time. They are used for project management, showing how long various tasks are expected to take and how far they have progressed. Here is an example:
In this version I have support for task bars with internal percentage completion gauges, project group bars and milestones. Task dependencies are not supported in this version, but I expect to get around to implementing them before too long.
If you look at the source of this example graph you might notice something a bit unusual:
$graph = new Goat1000\SVGGraph\SVGGraph(670, 'auto', $options);
The height of this graph is
"auto" instead of a numeric value.
You can still provide a number and SVGGraph will use it, but using
“auto” instead will let SVGGraph figure out a height based on the
number of entries, font sizes, padding and some other options. At the moment
“auto” is not particularly special and any non-numeric string will
work, but that may change in the future.
Using something as complicated as the Gantt chart class needs quite a bit of explaining, so I've created a new page for it with various examples here.
I'm not into project management, what else have you got?
There are some new options in this version, but they are mostly there to make the Gantt chart work properly. Some of them could be useful elsewhere though.
Where to get it
The new version of SVGGraph is available from the downloads page, or from GitHub / Packagist with Composer.