Subject: | Pie graphs do not render in Firefox 1.5 |
The pie graphs do not render correctly in Mozilla Firefox 1.5 - the pie "Slices" do not display. The rest of the SVG::TT graph types appear to render correctly in Firefox 1.5
This can be replicated most easily using the examples:
http://leo.cuckoo.org/projects/SVG-TT-Graph/examples/pie_chart_basic.svg
It seems to be caused by an extra comma in the data for the path, between the rest of the path and the "z" (the attached patch fixes this). The SVG spec seems to confirm this comma should not be there.
http://www.w3.org/TR/2001/REC-SVG-20010904/paths.html#PathData
--- Pie.orig.pm 2005-12-15 11:05:53.000000000 +1300
+++ Pie.pm 2005-12-15 11:06:52.801398139 +1300
@@ -663,7 +663,7 @@
[% ye = re * sin(radians_half) FILTER format('%02.10f') %]
<path d="M[% px_start + xe %] [% pmin_scale_value + ye %] A[% r %] [% r %], 0,
- [% IF percent >= 50 %]1[% ELSE %]0[% END %], 1, [% x + px_end + xe %] [% y + py_end + ye %] L[% x + xe %] [% y + ye %], Z" class="dataPoint[% count %]"/>
+ [% IF percent >= 50 %]1[% ELSE %]0[% END %], 1, [% x + px_end + xe %] [% y + py_end + ye %] L[% x + xe %] [% y + ye %] Z" class="dataPoint[% count %]"/>
[% ELSIF !config.expanded && config.expand_greatest %]
[% IF data.0.data.$field == max_value %]
@@ -671,15 +671,15 @@
[% xe = re * cos(radians_half) FILTER format('%02.10f') %]
[% ye = re * sin(radians_half) FILTER format('%02.10f') %]
<path d="M[% px_start + xe %] [% pmin_scale_value + ye %] A[% r %] [% r %], 0,
- [% IF percent >= 50 %]1[% ELSE %]0[% END %], 1, [% x + px_end + xe %] [% y + py_end + ye %] L[% x + xe %] [% y + ye %], Z" class="dataPoint[% count %]"/>
+ [% IF percent >= 50 %]1[% ELSE %]0[% END %], 1, [% x + px_end + xe %] [% y + py_end + ye %] L[% x + xe %] [% y + ye %] Z" class="dataPoint[% count %]"/>
[% ELSE %]
<path d="M[% px_start %] [% pmin_scale_value %] A[% r %] [% r %], 0,
- [% IF percent >= 50 %]1[% ELSE %]0[% END %], 1, [% x + px_end %] [% y + py_end %] L[% x %] [% y %], Z" class="dataPoint[% count %]"/>
+ [% IF percent >= 50 %]1[% ELSE %]0[% END %], 1, [% x + px_end %] [% y + py_end %] L[% x %] [% y %] Z" class="dataPoint[% count %]"/>
[% END %]
[% ELSE %]
<path d="M[% px_start %] [% pmin_scale_value %] A[% r %] [% r %], 0,
- [% IF percent >= 50 %]1[% ELSE %]0[% END %], 1, [% x + px_end %] [% y + py_end %] L[% x %] [% y %], Z" class="dataPoint[% count %]"/>
+ [% IF percent >= 50 %]1[% ELSE %]0[% END %], 1, [% x + px_end %] [% y + py_end %] L[% x %] [% y %] Z" class="dataPoint[% count %]"/>
[% END %]