For some plot types, if the data array has no Y values at all, the X axis data labels will not be drawn. This affects lines, linepoints, squared, and bubbles. The X axis data labels, if present in the array and enabled,should always be drawn, even if there is no data to plot. Other plot types, including points and bars, do draw the X axis labels in this case.
This is happening because the drawing functions for these plot types returns early if there are no data columns at all, in order to avoid an error (e.g. an array_fill with num==0). But this skips the outer (row) loop, which draws the X axis data labels.
A fix has been developed and will be applied to SVN when possible. (The subversion repository is not currently available.) The fix will be in PHPlot-6.0.0.
In DrawLines(), DrawLinesError(), and DrawSquared(), just skip the array_fill() if data_columns is 0. The array itself is only used in the inner loop, so it will not be accessed if data_columns is 0. This avoids the error with array_fill(), while allowing the Draw function to process the labels.
In DrawBubbles(), just remove the test for data_columns==0, as it wasn't necessary.
Fixes have been applied to Subversion on the Rel6 branch and will be in PHPlot-6.0.0. Axis labels will be drawn for all plot types even if there are no data points.
Fixed in 6.0.0