News archive
SVGGraph 3.16
Version 3.16 of SVGGraph continues my quest to produce a fully-featured Gantt chart class. I think I have all the important stuff done now, but please feel free to point out whatever is still missing.
Gantt charts (once more, with feeling)
The example below shows all the major changes in this version.
Probably the most obvious is that there are axes all the way around the
chart. This is enabled with the new axis_double_x
and
axis_double_y
options, which duplicate the main
X or Y axis on the other side of the graph. These options should work
for all axis-based graph types, not just Gantt charts.
If you've read the caption, you'll see that there is axis padding now. Or maybe
you noticed the gap - in any case, there are now options for adding space
between the axis and the grid area, axis_pad_left
,
axis_pad_top
, axis_pad_right
and
axis_pad_bottom
. Because these options move the grid and axis
apart there are also new options for what to do at the end of the axis:
axis_extend_left
, axis_extend_top
,
axis_extend_right
and axis_extend_bottom
.
In the example they are left at the default values, which extend the axis lines
to fill in the gap between the axes.
SVGGraph 3.15
Version 3.14 added support for Gantt charts, but I didn't include all the features I had been meaning to add because I didn't want to delay the release while I added things that would be less useful. Version 3.15 adds in the things that I didn't get around to last time.
Gantt charts revisited
The example below is mostly the same as the last time, but with the addition of dependency lines. These link tasks, groups or milestones to display when previous tasks (or groups or milestones) must be completed or initiated before the current task can begin or complete.
Setting up dependency lines is a little bit complicated and there are a few options for how they behave, so I've added a new page that covers them and a few of the other Gantt chart options here.
JPEG Saver 5.20
This new version of JPEG Saver doesn't add much, but it does complete my plan to add support for presets in all the places that it makes sense.
Item presets
This is it, the last preset thing that was missing, the ability to load and save preset lists of items. You could argue that style presets are missing too, but I didn't come here for an argument. In fact I would argue that style presets are also in this update, because each item preset also contains whatever styles are required to make it work.
I have included a few simple built-in presets for displaying clocks, borders, EXIF, IPTC and GPS data, but I couldn't think of anything else that would be really useful. Email me with suggestions if you want anything added in the next version.
SVGGraph 3.14
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.
Gantt charts
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.
SVGGraph 3.13.1
This is just a quick update to SVGGraph, fixing a whole load of warning messages that appear when you use PHP 8.1 with SVGGraph. The warnings are almost all about things that will break in PHP 9 (whenever that is going to arrive) but that work fine at the moment.
Of course, the warning messages themselves break things quite horribly, so most of the changes in this version are adding short attributes that mean "I know this is going to break in PHP 9, I'll fix it then." The reason I didn't fix all of these things properly now is that it would require PHP 8.x - and I'd like to at least keep PHP 7.x supported for now.
The updated version is available from the downloads page or from GitHub, etc.