When working with SVGGraph you might sometimes find an error message in the SVG output instead of the graph you were expecting. This page should help to explain what some of these messages mean and how to deal with the issues that cause them.
The “No data” error is shown when SVGGraph has no data values to
work with. This can happen when you forget to call
or when the array of data passed to the
Values() function is
If you really want to show an empty graph then you must provide at least one
value to the
Values() function, even if it is 0 (but see the
“Zero length axis” section below for more about that).
Zero length axis
This error means that SVGGraph could not determine the scale for the axis -
which tends to happen when all of the values in your data are 0. To display the
empty graph, you should set the
axis_max_v option to the number you
want at the top of the axis (something like 1, 10, 50, 1000, or whatever makes
the most sense for your application).
If you are using a horizontal graph then you should set the scale end value
axis_max_h option instead. If you want the scale to
encompass negative numbers then you would have to set the
axis_min_h options to the negative number that you want at the
lower end of the axis.
I suspect that this is an error message that many users will see at some
point, so I'm sorry that it is not more meaningful. The reason for the
“zero length” message is that the maximum and minimum values picked
from the data to determine the scale are both found to be 0, so the length
maximum - minimum) is also 0. The automatic minimum
for the scale is initialised to 0 unless you have negative values.
Or sometimes “Non-numeric value”, depending on the graph type and whether you are using structured data or not.
These errors both mean that SVGGraph has searched through the data for the minimum and maximum values and found that either:
- all of your values are
- some of your values are neither a number nor
- your structured data
valuefields are empty.
When this happens, using
print_r($values); to dump the data
will usually make the source of the problem apparent.
No values in grid range
This happens when you have used some or all of the
options and none of your data values are greater than the
It can also happen when all of the data values are greater than
_h) when set to a negative number.
If you keep having this problem, try not setting the
axis_min_h options, and not setting the
axis_max_h to negative numbers.
Invalid axes specified
This is a simple error to explain - it means that you have provided
axis_max_h) settings, but your
axis_max_ is not
greater than your
Your maximum must always be more than your minimum - putting them the other way around will not trick SVGGraph into drawing the graph upside-down!
Not enough values for <graph type>
This is an error from the line and radar graphs - you must have at least two data values to be able to draw a line between them. If you really want to show a graph with a single marker, you should switch to using a scatter graph for that instead.
Negative value for double-ended axis
At the moment you would only receive this error from the population pyramid graph type because it is the only one to use the double-ended axis. The X axis of the population pyramid has its 0 in the middle and two positive scales on either side. Because of this, it cannot display negative numbers.
Structured data errors
These are the errors you might see if you are using structured data (or if you are not using structured data when you should be for the graph to work).
Repeated keys in data
This happens when you are using structured data and the same key value appears in multiple records. Some graph types (the scatter and bubble graphs) can cope with this kind of data, but for most graphs it would not make sense. To solve this problem either modify your data to contain unique keys or change to using a scatter graph (or bubble graph) to display it instead.
<graph type> requires structured data
The graph you have tried to generate requires the use of structured data to
specify some extra information, but you have not set the necessary
Check the other graphs page for details of how to
create the graph type that you want.
Required field(s) [<field list>] not set in data structure
You have specified
for a graph that requires it, but you have not listed one or more of the extra
fields in your
The error message lists the fields that you are missing - refer to the other graphs page for the full details of what must be included to make the graph work.
Pie graph errors
The pie graph and 3D pie graph don't use axes, so they have their own error messages.
Empty pie chart
This is the pie graph equivalent of “Zero length axis” - all of your values are 0, so a pie chart can't be drawn.
Negative value for pie chart
Pie graphs can not display negative values, so SVGGraph will give up if it finds any in your data.
Log axis errors
When you enable the
log_axis_y option, these error messages
log_axis_y not supported by <graph type>
This means that the selected graph type doesn't support using the logarithmic axis, probably because it would produce a confusing and distorted graph.
0 value on log axis
You have enabled the
log_axis_y option, but SVGGraph has found
a 0 in your data. The logarithm of 0 is undefined, so it can't be drawn on a
logarithmic scale. You can solve this by removing any 0 values from the data,
or by setting the
axis_min_v option to something greater than 0 to
skip the 0 values.
Obviously you should set the
axis_min_h option instead if you
are using a horizontal graph.
-ve and +ve on log axis
This is very similar to the previous problem, but you have both positive and negative values in your data. SVGGraph can draw all positive or all negative values on a logarithmic scale, but to draw both on one graph would mean putting 0 somewhere.
The solution is similar too - set
axis_min_v to a positive number
to show only positive values, or set
axis_max_v to a negative
number to show only the negative numbers.
For horizontal graphs you should use