summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKore Nordmann <github@kore-nordmann.de>2007-09-06 12:45:09 +0000
committerKore Nordmann <github@kore-nordmann.de>2007-09-06 12:45:09 +0000
commita3a7f0b264223ec011b46fd4e0ce2674af7e0087 (patch)
tree345bb747e3c8311795c154f9849bbc30aca8ee0b /tests
parentc87432c04b6b68d8a1e210947acb3f260f013707 (diff)
downloadzetacomponents-graph-a3a7f0b264223ec011b46fd4e0ce2674af7e0087.zip
zetacomponents-graph-a3a7f0b264223ec011b46fd4e0ce2674af7e0087.tar.gz
- Implemented feature #10978: Add support for stacked bar charts
Diffstat (limited to 'tests')
-rw-r--r--tests/data/compare/ezcGraphLineChartTest_testStackedBarChart.svg2
-rw-r--r--tests/data/compare/ezcGraphLineChartTest_testStackedBarChart3d.svg2
-rw-r--r--tests/line_test.php172
-rw-r--r--tests/renderer_2d_test.php40
4 files changed, 216 insertions, 0 deletions
diff --git a/tests/data/compare/ezcGraphLineChartTest_testStackedBarChart.svg b/tests/data/compare/ezcGraphLineChartTest_testStackedBarChart.svg
new file mode 100644
index 0000000..507c2dd
--- /dev/null
+++ b/tests/data/compare/ezcGraphLineChartTest_testStackedBarChart.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="500" height="200" version="1.0" id="ezcGraph"><defs/><g id="ezcGraphChart" color-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility"><path d=" M 0.0000,200.0000 L 0.0000,0.0000 L 500.0000,0.0000 L 500.0000,200.0000 L 0.0000,200.0000 z " style="fill: #eeeeec; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_1"/><path d=" M 0.0000,200.0000 L 0.0000,0.0000 L 100.0000,0.0000 L 100.0000,200.0000 L 0.0000,200.0000 z " style="fill: #000000; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_2"/><path d=" M 2.0000,16.0000 L 2.0000,2.0000 L 16.0000,2.0000 L 16.0000,16.0000 L 2.0000,16.0000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_3"/><path d=" M 2.0000,34.0000 L 2.0000,20.0000 L 16.0000,20.0000 L 16.0000,34.0000 L 2.0000,34.0000 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_5"/><path d=" M 2.0000,52.0000 L 2.0000,38.0000 L 16.0000,38.0000 L 16.0000,52.0000 L 2.0000,52.0000 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_7"/><path d=" M 100.0000,148.0000 L 500.0000,148.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_9"/><path d=" M 492.0000,144.0000 L 500.0000,148.0000 L 492.0000,152.0000 L 492.0000,144.0000 z " style="fill: #2e3436; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_10"/><path d=" M 140.0000,200.0000 L 140.0000,0.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_11"/><path d=" M 137.5000,5.0000 L 140.0000,0.0000 L 142.5000,5.0000 L 137.5000,5.0000 z " style="fill: #2e3436; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_12"/><path d=" M 204.0000,20.0000 L 204.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_14"/><path d=" M 204.0000,145.0000 L 204.0000,151.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_15"/><path d=" M 268.0000,20.0000 L 268.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_17"/><path d=" M 268.0000,145.0000 L 268.0000,151.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_18"/><path d=" M 332.0000,20.0000 L 332.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_20"/><path d=" M 332.0000,145.0000 L 332.0000,151.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_21"/><path d=" M 396.0000,20.0000 L 396.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_23"/><path d=" M 396.0000,145.0000 L 396.0000,151.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_24"/><path d=" M 460.0000,20.0000 L 460.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_26"/><path d=" M 460.0000,145.0000 L 460.0000,151.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_27"/><path d=" M 140.0000,180.0000 L 460.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_28"/><path d=" M 140.0000,180.0000 L 143.0000,180.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_29"/><path d=" M 140.0000,174.0000 L 460.0000,174.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_31"/><path d=" M 140.0000,173.6000 L 141.0000,173.6000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_32"/><path d=" M 140.0000,168.0000 L 460.0000,168.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_33"/><path d=" M 140.0000,167.2000 L 141.0000,167.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_34"/><path d=" M 140.0000,160.0000 L 460.0000,160.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_35"/><path d=" M 140.0000,160.8000 L 141.0000,160.8000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_36"/><path d=" M 140.0000,154.0000 L 460.0000,154.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_37"/><path d=" M 140.0000,154.4000 L 141.0000,154.4000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_38"/><path d=" M 140.0000,142.0000 L 460.0000,142.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_40"/><path d=" M 140.0000,141.6000 L 141.0000,141.6000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_41"/><path d=" M 140.0000,136.0000 L 460.0000,136.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_42"/><path d=" M 140.0000,135.2000 L 141.0000,135.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_43"/><path d=" M 140.0000,128.0000 L 460.0000,128.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_44"/><path d=" M 140.0000,128.8000 L 141.0000,128.8000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_45"/><path d=" M 140.0000,122.0000 L 460.0000,122.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_46"/><path d=" M 140.0000,122.4000 L 141.0000,122.4000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_47"/><path d=" M 140.0000,116.0000 L 460.0000,116.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_48"/><path d=" M 140.0000,116.0000 L 143.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_49"/><path d=" M 140.0000,110.0000 L 460.0000,110.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_51"/><path d=" M 140.0000,109.6000 L 141.0000,109.6000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_52"/><path d=" M 140.0000,104.0000 L 460.0000,104.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_53"/><path d=" M 140.0000,103.2000 L 141.0000,103.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_54"/><path d=" M 140.0000,96.0000 L 460.0000,96.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_55"/><path d=" M 140.0000,96.8000 L 141.0000,96.8000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_56"/><path d=" M 140.0000,90.0000 L 460.0000,90.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_57"/><path d=" M 140.0000,90.4000 L 141.0000,90.4000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_58"/><path d=" M 140.0000,84.0000 L 460.0000,84.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_59"/><path d=" M 140.0000,84.0000 L 143.0000,84.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_60"/><path d=" M 140.0000,78.0000 L 460.0000,78.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_62"/><path d=" M 140.0000,77.6000 L 141.0000,77.6000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_63"/><path d=" M 140.0000,72.0000 L 460.0000,72.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_64"/><path d=" M 140.0000,71.2000 L 141.0000,71.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_65"/><path d=" M 140.0000,64.0000 L 460.0000,64.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_66"/><path d=" M 140.0000,64.8000 L 141.0000,64.8000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_67"/><path d=" M 140.0000,58.0000 L 460.0000,58.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_68"/><path d=" M 140.0000,58.4000 L 141.0000,58.4000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_69"/><path d=" M 140.0000,52.0000 L 460.0000,52.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_70"/><path d=" M 140.0000,52.0000 L 143.0000,52.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_71"/><path d=" M 140.0000,46.0000 L 460.0000,46.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_73"/><path d=" M 140.0000,45.6000 L 141.0000,45.6000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_74"/><path d=" M 140.0000,40.0000 L 460.0000,40.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_75"/><path d=" M 140.0000,39.2000 L 141.0000,39.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_76"/><path d=" M 140.0000,32.0000 L 460.0000,32.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_77"/><path d=" M 140.0000,32.8000 L 141.0000,32.8000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_78"/><path d=" M 140.0000,26.0000 L 460.0000,26.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_79"/><path d=" M 140.0000,26.4000 L 141.0000,26.4000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_80"/><path d=" M 140.0000,20.0000 L 460.0000,20.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_81"/><path d=" M 140.0000,20.0000 L 143.0000,20.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_82"/><path d=" M 200.8450,148.0000 L 143.1550,148.0000 L 143.1550,92.0000 L 200.8450,92.0000 L 200.8450,148.0000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_84"/><path d=" M 143.6550,147.5000 L 143.6550,92.5000 L 200.3450,92.5000 L 200.3450,147.5000 L 143.6550,147.5000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_85"/><path d=" M 264.8450,148.0000 L 207.1550,148.0000 L 207.1550,143.5840 L 264.8450,143.5840 L 264.8450,148.0000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_86"/><path d=" M 207.6550,147.5000 L 207.6550,144.0840 L 264.3450,144.0840 L 264.3450,147.5000 L 207.6550,147.5000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_87"/><path d=" M 328.8450,148.0000 L 271.1550,148.0000 L 271.1550,132.5888 L 328.8450,132.5888 L 328.8450,148.0000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_88"/><path d=" M 271.6550,147.5000 L 271.6550,133.0888 L 328.3450,133.0888 L 328.3450,147.5000 L 271.6550,147.5000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_89"/><path d=" M 392.8450,148.0000 L 335.1550,148.0000 L 335.1550,145.0432 L 392.8450,145.0432 L 392.8450,148.0000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_90"/><path d=" M 335.6550,147.5000 L 335.6550,145.5432 L 392.3450,145.5432 L 392.3450,147.5000 L 335.6550,147.5000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_91"/><path d=" M 456.8450,148.0000 L 399.1550,148.0000 L 399.1550,135.3664 L 456.8450,135.3664 L 456.8450,148.0000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_92"/><path d=" M 399.6550,147.5000 L 399.6550,135.8664 L 456.3450,135.8664 L 456.3450,147.5000 L 399.6550,147.5000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_93"/><path d=" M 200.8450,92.0000 L 143.1550,92.0000 L 143.1550,36.2944 L 200.8450,36.2944 L 200.8450,92.0000 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_94"/><path d=" M 143.6550,91.5000 L 143.6550,36.7944 L 200.3450,36.7944 L 200.3450,91.5000 L 143.6550,91.5000 z " style="fill: none; stroke: #274d03; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_95"/><path d=" M 264.8450,143.5840 L 207.1550,143.5840 L 207.1550,134.0480 L 264.8450,134.0480 L 264.8450,143.5840 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_96"/><path d=" M 207.6550,143.0840 L 207.6550,134.5480 L 264.3450,134.5480 L 264.3450,143.0840 L 207.6550,143.0840 z " style="fill: none; stroke: #274d03; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_97"/><path d=" M 328.8450,132.5888 L 271.1550,132.5888 L 271.1550,129.9776 L 328.8450,129.9776 L 328.8450,132.5888 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_98"/><path d=" M 271.6550,132.0888 L 271.6550,130.4776 L 328.3450,130.4776 L 328.3450,132.0888 L 271.6550,132.0888 z " style="fill: none; stroke: #274d03; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_99"/><path d=" M 392.8450,145.0432 L 335.1550,145.0432 L 335.1550,116.4864 L 392.8450,116.4864 L 392.8450,145.0432 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_100"/><path d=" M 335.6550,144.5432 L 335.6550,116.9864 L 392.3450,116.9864 L 392.3450,144.5432 L 335.6550,144.5432 z " style="fill: none; stroke: #274d03; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_101"/><path d=" M 456.8450,135.3664 L 399.1550,135.3664 L 399.1550,129.1328 L 456.8450,129.1328 L 456.8450,135.3664 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_102"/><path d=" M 399.6550,134.8664 L 399.6550,129.6328 L 456.3450,129.6328 L 456.3450,134.8664 L 399.6550,134.8664 z " style="fill: none; stroke: #274d03; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_103"/><path d=" M 200.8450,36.2944 L 143.1550,36.2944 L 143.1550,33.2992 L 200.8450,33.2992 L 200.8450,36.2944 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_104"/><path d=" M 143.6550,35.7944 L 143.6550,33.7992 L 200.3450,33.7992 L 200.3450,35.7944 L 143.6550,35.7944 z " style="fill: none; stroke: #660000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_105"/><path d=" M 264.8450,134.0480 L 207.1550,134.0480 L 207.1550,132.7680 L 264.8450,132.7680 L 264.8450,134.0480 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_106"/><path d=" M 207.6550,133.5480 L 207.6550,133.2680 L 264.3450,133.2680 L 264.3450,133.5480 L 207.6550,133.5480 z " style="fill: none; stroke: #660000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_107"/><path d=" M 328.8450,148.0000 L 271.1550,148.0000 L 271.1550,148.0000 L 328.8450,148.0000 L 328.8450,148.0000 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_108"/><path d=" M 392.8450,148.0000 L 335.1550,148.0000 L 335.1550,159.9552 L 392.8450,159.9552 L 392.8450,148.0000 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_109"/><path d=" M 335.6550,148.5000 L 335.6550,159.4552 L 392.3450,159.4552 L 392.3450,148.5000 L 335.6550,148.5000 z " style="fill: none; stroke: #660000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_110"/><path d=" M 456.8450,129.1328 L 399.1550,129.1328 L 399.1550,102.9824 L 456.8450,102.9824 L 456.8450,129.1328 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_111"/><path d=" M 399.6550,128.6328 L 399.6550,103.4824 L 456.3450,103.4824 L 456.3450,128.6328 L 399.6550,128.6328 z " style="fill: none; stroke: #660000; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_112"/><g id="ezcGraphTextBox_4"><path d=" M 16.5000,17.0000 L 16.5000,1.5000 L 62.5200,1.5000 L 62.5200,17.0000 L 16.5000,17.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_113"/><text id="ezcGraphTextBox_4_text" x="17.0000" text-length="44.5200px" y="13.9000" style="font-size: 14px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">sample</text></g><g id="ezcGraphTextBox_6"><path d=" M 16.5000,35.0000 L 16.5000,19.5000 L 77.3600,19.5000 L 77.3600,35.0000 L 16.5000,35.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_114"/><text id="ezcGraphTextBox_6_text" x="17.0000" text-length="59.3600px" y="31.9000" style="font-size: 14px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">sample 2</text></g><g id="ezcGraphTextBox_8"><path d=" M 16.5000,53.0000 L 16.5000,37.5000 L 77.3600,37.5000 L 77.3600,53.0000 L 16.5000,53.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_115"/><text id="ezcGraphTextBox_8_text" x="17.0000" text-length="59.3600px" y="49.9000" style="font-size: 14px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">sample 3</text></g><g id="ezcGraphTextBox_13"><path d=" M 151.0950,162.0000 L 151.0950,149.5000 L 193.4050,149.5000 L 193.4050,162.0000 L 151.0950,162.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_116"/><text id="ezcGraphTextBox_13_text" x="151.5950" text-length="40.8100px" y="159.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">Mozilla</text></g><g id="ezcGraphTextBox_16"><path d=" M 229.6700,162.0000 L 229.6700,149.5000 L 242.8300,149.5000 L 242.8300,162.0000 L 229.6700,162.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_117"/><text id="ezcGraphTextBox_16_text" x="230.1700" text-length="11.6600px" y="159.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">IE</text></g><g id="ezcGraphTextBox_19"><path d=" M 284.9250,162.0000 L 284.9250,149.5000 L 315.5750,149.5000 L 315.5750,162.0000 L 284.9250,162.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_118"/><text id="ezcGraphTextBox_19_text" x="285.4250" text-length="29.1500px" y="159.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">Opera</text></g><g id="ezcGraphTextBox_22"><path d=" M 351.8400,162.0000 L 351.8400,149.5000 L 376.6600,149.5000 L 376.6600,162.0000 L 351.8400,162.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_119"/><text id="ezcGraphTextBox_22_text" x="352.3400" text-length="23.3200px" y="159.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">wget</text></g><g id="ezcGraphTextBox_25"><path d=" M 410.0100,162.0000 L 410.0100,149.5000 L 446.4900,149.5000 L 446.4900,162.0000 L 410.0100,162.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_120"/><text id="ezcGraphTextBox_25_text" x="410.5100" text-length="34.9800px" y="159.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">Safari</text></g><g id="ezcGraphTextBox_30"><path d=" M 103.4000,179.0000 L 103.4000,166.5000 L 139.0000,166.5000 L 139.0000,179.0000 L 103.4000,179.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_121"/><text id="ezcGraphTextBox_30_text" x="103.9000" text-length="34.1000px" y="176.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">-2500</text></g><g id="ezcGraphTextBox_39"><path d=" M 130.6800,147.0000 L 130.6800,134.5000 L 139.0000,134.5000 L 139.0000,147.0000 L 130.6800,147.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_122"/><text id="ezcGraphTextBox_39_text" x="131.1800" text-length="6.8200px" y="144.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">0</text></g><g id="ezcGraphTextBox_50"><path d=" M 110.2200,115.0000 L 110.2200,102.5000 L 139.0000,102.5000 L 139.0000,115.0000 L 110.2200,115.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_123"/><text id="ezcGraphTextBox_50_text" x="110.7200" text-length="27.2800px" y="112.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">2500</text></g><g id="ezcGraphTextBox_61"><path d=" M 110.2200,83.0000 L 110.2200,70.5000 L 139.0000,70.5000 L 139.0000,83.0000 L 110.2200,83.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_124"/><text id="ezcGraphTextBox_61_text" x="110.7200" text-length="27.2800px" y="80.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">5000</text></g><g id="ezcGraphTextBox_72"><path d=" M 110.2200,51.0000 L 110.2200,38.5000 L 139.0000,38.5000 L 139.0000,51.0000 L 110.2200,51.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_125"/><text id="ezcGraphTextBox_72_text" x="110.7200" text-length="27.2800px" y="48.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">7500</text></g><g id="ezcGraphTextBox_83"><path d=" M 103.4000,34.0000 L 103.4000,21.5000 L 139.0000,21.5000 L 139.0000,34.0000 L 103.4000,34.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_126"/><text id="ezcGraphTextBox_83_text" x="103.9000" text-length="34.1000px" y="31.3500" style="font-size: 11px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">10000</text></g></g></svg>
diff --git a/tests/data/compare/ezcGraphLineChartTest_testStackedBarChart3d.svg b/tests/data/compare/ezcGraphLineChartTest_testStackedBarChart3d.svg
new file mode 100644
index 0000000..920cd9c
--- /dev/null
+++ b/tests/data/compare/ezcGraphLineChartTest_testStackedBarChart3d.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="500" height="200" version="1.0" id="ezcGraph"><defs/><g id="ezcGraphChart" color-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility"><path d=" M 0.0000,200.0000 L 0.0000,0.0000 L 500.0000,0.0000 L 500.0000,200.0000 L 0.0000,200.0000 z " style="fill: #eeeeec; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_1"/><path d=" M 0.0000,200.0000 L 0.0000,0.0000 L 100.0000,0.0000 L 100.0000,200.0000 L 0.0000,200.0000 z " style="fill: #000000; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_2"/><path d=" M 2.0000,16.0000 L 2.0000,2.0000 L 16.0000,2.0000 L 16.0000,16.0000 L 2.0000,16.0000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_3"/><path d=" M 2.0000,34.0000 L 2.0000,20.0000 L 16.0000,20.0000 L 16.0000,34.0000 L 2.0000,34.0000 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_5"/><path d=" M 2.0000,52.0000 L 2.0000,38.0000 L 16.0000,38.0000 L 16.0000,52.0000 L 2.0000,52.0000 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_7"/><path d=" M 100.0000,153.2000 L 120.0000,133.2000 L 500.0000,133.2000 L 480.0000,153.2000 L 100.0000,153.2000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_9"/><path d=" M 120.0000,133.2000 L 500.0000,133.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_10"/><path d=" M 492.0000,129.2000 L 500.0000,133.2000 L 492.0000,137.2000 L 492.0000,129.2000 z " style="fill: #2e3436; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_11"/><path d=" M 138.0000,200.0000 L 158.0000,180.0000 L 158.0000,0.0000 L 138.0000,20.0000 L 138.0000,200.0000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_12"/><path d=" M 158.0000,180.0000 L 158.0000,0.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_13"/><path d=" M 155.5000,5.0000 L 158.0000,0.0000 L 160.5000,5.0000 L 155.5000,5.0000 z " style="fill: #2e3436; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_14"/><path d=" M 218.8000,162.0000 L 218.8000,18.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_16"/><path d=" M 198.8000,150.5000 L 218.8000,130.5000 L 218.8000,135.9000 L 198.8000,155.9000 L 198.8000,150.5000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_17"/><path d=" M 218.3000,131.7071 L 218.3000,135.6929 L 199.3000,154.6929 L 199.3000,150.7071 L 218.3000,131.7071 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_18"/><path d=" M 279.6000,162.0000 L 279.6000,18.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_20"/><path d=" M 259.6000,150.5000 L 279.6000,130.5000 L 279.6000,135.9000 L 259.6000,155.9000 L 259.6000,150.5000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_21"/><path d=" M 279.1000,131.7071 L 279.1000,135.6929 L 260.1000,154.6929 L 260.1000,150.7071 L 279.1000,131.7071 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_22"/><path d=" M 340.4000,162.0000 L 340.4000,18.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_24"/><path d=" M 320.4000,150.5000 L 340.4000,130.5000 L 340.4000,135.9000 L 320.4000,155.9000 L 320.4000,150.5000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_25"/><path d=" M 339.9000,131.7071 L 339.9000,135.6929 L 320.9000,154.6929 L 320.9000,150.7071 L 339.9000,131.7071 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_26"/><path d=" M 401.2000,162.0000 L 401.2000,18.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_28"/><path d=" M 381.2000,150.5000 L 401.2000,130.5000 L 401.2000,135.9000 L 381.2000,155.9000 L 381.2000,150.5000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_29"/><path d=" M 400.7000,131.7071 L 400.7000,135.6929 L 381.7000,154.6929 L 381.7000,150.7071 L 400.7000,131.7071 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_30"/><path d=" M 462.0000,162.0000 L 462.0000,18.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_32"/><path d=" M 442.0000,150.5000 L 462.0000,130.5000 L 462.0000,135.9000 L 442.0000,155.9000 L 442.0000,150.5000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_33"/><path d=" M 461.5000,131.7071 L 461.5000,135.6929 L 442.5000,154.6929 L 442.5000,150.7071 L 461.5000,131.7071 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_34"/><path d=" M 462.0000,162.0000 L 158.0000,162.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_35"/><path d=" M 138.0000,182.0000 L 158.0000,162.0000 L 160.8500,162.0000 L 140.8500,182.0000 L 138.0000,182.0000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_36"/><path d=" M 158.2071,162.5000 L 159.6429,162.5000 L 140.6429,181.5000 L 139.2071,181.5000 L 158.2071,162.5000 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_37"/><path d=" M 462.0000,156.6000 L 158.0000,156.6000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_39"/><path d=" M 138.0000,176.2400 L 158.0000,156.2400 L 158.9500,156.2400 L 138.9500,176.2400 L 138.0000,176.2400 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_40"/><path d=" M 158.2071,156.7400 L 157.7429,156.7400 L 138.7429,175.7400 L 139.2071,175.7400 L 158.2071,156.7400 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_41"/><path d=" M 462.0000,151.2000 L 158.0000,151.2000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_42"/><path d=" M 138.0000,170.4800 L 158.0000,150.4800 L 158.9500,150.4800 L 138.9500,170.4800 L 138.0000,170.4800 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_43"/><path d=" M 158.2071,150.9800 L 157.7429,150.9800 L 138.7429,169.9800 L 139.2071,169.9800 L 158.2071,150.9800 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_44"/><path d=" M 462.0000,144.0000 L 158.0000,144.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_45"/><path d=" M 138.0000,164.7200 L 158.0000,144.7200 L 158.9500,144.7200 L 138.9500,164.7200 L 138.0000,164.7200 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_46"/><path d=" M 158.2071,145.2200 L 157.7429,145.2200 L 138.7429,164.2200 L 139.2071,164.2200 L 158.2071,145.2200 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_47"/><path d=" M 462.0000,138.6000 L 158.0000,138.6000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_48"/><path d=" M 138.0000,158.9600 L 158.0000,138.9600 L 158.9500,138.9600 L 138.9500,158.9600 L 138.0000,158.9600 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_49"/><path d=" M 158.2071,139.4600 L 157.7429,139.4600 L 138.7429,158.4600 L 139.2071,158.4600 L 158.2071,139.4600 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_50"/><path d=" M 462.0000,127.8000 L 158.0000,127.8000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_52"/><path d=" M 138.0000,147.4400 L 158.0000,127.4400 L 158.9500,127.4400 L 138.9500,147.4400 L 138.0000,147.4400 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_53"/><path d=" M 158.2071,127.9400 L 157.7429,127.9400 L 138.7429,146.9400 L 139.2071,146.9400 L 158.2071,127.9400 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_54"/><path d=" M 462.0000,122.4000 L 158.0000,122.4000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_55"/><path d=" M 138.0000,141.6800 L 158.0000,121.6800 L 158.9500,121.6800 L 138.9500,141.6800 L 138.0000,141.6800 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_56"/><path d=" M 158.2071,122.1800 L 157.7429,122.1800 L 138.7429,141.1800 L 139.2071,141.1800 L 158.2071,122.1800 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_57"/><path d=" M 462.0000,115.2000 L 158.0000,115.2000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_58"/><path d=" M 138.0000,135.9200 L 158.0000,115.9200 L 158.9500,115.9200 L 138.9500,135.9200 L 138.0000,135.9200 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_59"/><path d=" M 158.2071,116.4200 L 157.7429,116.4200 L 138.7429,135.4200 L 139.2071,135.4200 L 158.2071,116.4200 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_60"/><path d=" M 462.0000,109.8000 L 158.0000,109.8000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_61"/><path d=" M 138.0000,130.1600 L 158.0000,110.1600 L 158.9500,110.1600 L 138.9500,130.1600 L 138.0000,130.1600 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_62"/><path d=" M 158.2071,110.6600 L 157.7429,110.6600 L 138.7429,129.6600 L 139.2071,129.6600 L 158.2071,110.6600 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_63"/><path d=" M 462.0000,104.4000 L 158.0000,104.4000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_64"/><path d=" M 138.0000,124.4000 L 158.0000,104.4000 L 160.8500,104.4000 L 140.8500,124.4000 L 138.0000,124.4000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_65"/><path d=" M 158.2071,104.9000 L 159.6429,104.9000 L 140.6429,123.9000 L 139.2071,123.9000 L 158.2071,104.9000 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_66"/><path d=" M 462.0000,99.0000 L 158.0000,99.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_68"/><path d=" M 138.0000,118.6400 L 158.0000,98.6400 L 158.9500,98.6400 L 138.9500,118.6400 L 138.0000,118.6400 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_69"/><path d=" M 158.2071,99.1400 L 157.7429,99.1400 L 138.7429,118.1400 L 139.2071,118.1400 L 158.2071,99.1400 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_70"/><path d=" M 462.0000,93.6000 L 158.0000,93.6000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_71"/><path d=" M 138.0000,112.8800 L 158.0000,92.8800 L 158.9500,92.8800 L 138.9500,112.8800 L 138.0000,112.8800 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_72"/><path d=" M 158.2071,93.3800 L 157.7429,93.3800 L 138.7429,112.3800 L 139.2071,112.3800 L 158.2071,93.3800 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_73"/><path d=" M 462.0000,86.4000 L 158.0000,86.4000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_74"/><path d=" M 138.0000,107.1200 L 158.0000,87.1200 L 158.9500,87.1200 L 138.9500,107.1200 L 138.0000,107.1200 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_75"/><path d=" M 158.2071,87.6200 L 157.7429,87.6200 L 138.7429,106.6200 L 139.2071,106.6200 L 158.2071,87.6200 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_76"/><path d=" M 462.0000,81.0000 L 158.0000,81.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_77"/><path d=" M 138.0000,101.3600 L 158.0000,81.3600 L 158.9500,81.3600 L 138.9500,101.3600 L 138.0000,101.3600 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_78"/><path d=" M 158.2071,81.8600 L 157.7429,81.8600 L 138.7429,100.8600 L 139.2071,100.8600 L 158.2071,81.8600 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_79"/><path d=" M 462.0000,75.6000 L 158.0000,75.6000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_80"/><path d=" M 138.0000,95.6000 L 158.0000,75.6000 L 160.8500,75.6000 L 140.8500,95.6000 L 138.0000,95.6000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_81"/><path d=" M 158.2071,76.1000 L 159.6429,76.1000 L 140.6429,95.1000 L 139.2071,95.1000 L 158.2071,76.1000 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_82"/><path d=" M 462.0000,70.2000 L 158.0000,70.2000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_84"/><path d=" M 138.0000,89.8400 L 158.0000,69.8400 L 158.9500,69.8400 L 138.9500,89.8400 L 138.0000,89.8400 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_85"/><path d=" M 158.2071,70.3400 L 157.7429,70.3400 L 138.7429,89.3400 L 139.2071,89.3400 L 158.2071,70.3400 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_86"/><path d=" M 462.0000,64.8000 L 158.0000,64.8000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_87"/><path d=" M 138.0000,84.0800 L 158.0000,64.0800 L 158.9500,64.0800 L 138.9500,84.0800 L 138.0000,84.0800 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_88"/><path d=" M 158.2071,64.5800 L 157.7429,64.5800 L 138.7429,83.5800 L 139.2071,83.5800 L 158.2071,64.5800 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_89"/><path d=" M 462.0000,57.6000 L 158.0000,57.6000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_90"/><path d=" M 138.0000,78.3200 L 158.0000,58.3200 L 158.9500,58.3200 L 138.9500,78.3200 L 138.0000,78.3200 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_91"/><path d=" M 158.2071,58.8200 L 157.7429,58.8200 L 138.7429,77.8200 L 139.2071,77.8200 L 158.2071,58.8200 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_92"/><path d=" M 462.0000,52.2000 L 158.0000,52.2000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_93"/><path d=" M 138.0000,72.5600 L 158.0000,52.5600 L 158.9500,52.5600 L 138.9500,72.5600 L 138.0000,72.5600 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_94"/><path d=" M 158.2071,53.0600 L 157.7429,53.0600 L 138.7429,72.0600 L 139.2071,72.0600 L 158.2071,53.0600 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_95"/><path d=" M 462.0000,46.8000 L 158.0000,46.8000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_96"/><path d=" M 138.0000,66.8000 L 158.0000,46.8000 L 160.8500,46.8000 L 140.8500,66.8000 L 138.0000,66.8000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_97"/><path d=" M 158.2071,47.3000 L 159.6429,47.3000 L 140.6429,66.3000 L 139.2071,66.3000 L 158.2071,47.3000 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_98"/><path d=" M 462.0000,41.4000 L 158.0000,41.4000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_100"/><path d=" M 138.0000,61.0400 L 158.0000,41.0400 L 158.9500,41.0400 L 138.9500,61.0400 L 138.0000,61.0400 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_101"/><path d=" M 158.2071,41.5400 L 157.7429,41.5400 L 138.7429,60.5400 L 139.2071,60.5400 L 158.2071,41.5400 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_102"/><path d=" M 462.0000,36.0000 L 158.0000,36.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_103"/><path d=" M 138.0000,55.2800 L 158.0000,35.2800 L 158.9500,35.2800 L 138.9500,55.2800 L 138.0000,55.2800 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_104"/><path d=" M 158.2071,35.7800 L 157.7429,35.7800 L 138.7429,54.7800 L 139.2071,54.7800 L 158.2071,35.7800 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_105"/><path d=" M 462.0000,28.8000 L 158.0000,28.8000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_106"/><path d=" M 138.0000,49.5200 L 158.0000,29.5200 L 158.9500,29.5200 L 138.9500,49.5200 L 138.0000,49.5200 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_107"/><path d=" M 158.2071,30.0200 L 157.7429,30.0200 L 138.7429,49.0200 L 139.2071,49.0200 L 158.2071,30.0200 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_108"/><path d=" M 462.0000,23.4000 L 158.0000,23.4000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_109"/><path d=" M 138.0000,43.7600 L 158.0000,23.7600 L 158.9500,23.7600 L 138.9500,43.7600 L 138.0000,43.7600 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_110"/><path d=" M 158.2071,24.2600 L 157.7429,24.2600 L 138.7429,43.2600 L 139.2071,43.2600 L 158.2071,24.2600 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_111"/><path d=" M 462.0000,18.0000 L 158.0000,18.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_112"/><path d=" M 138.0000,38.0000 L 158.0000,18.0000 L 160.8500,18.0000 L 140.8500,38.0000 L 138.0000,38.0000 z " style="fill: #2e3436; fill-opacity: 0.20; stroke: none;" id="ezcGraphPolygon_113"/><path d=" M 158.2071,18.5000 L 159.6429,18.5000 L 140.6429,37.5000 L 139.2071,37.5000 L 158.2071,18.5000 z " style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_114"/><path d=" M 158.9973,84.8000 L 142.9973,100.8000 L 197.8028,100.8000 L 213.8028,84.8000 L 158.9973,84.8000 z " style="fill: #1f3d62; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_116"/><path d=" M 197.8028,151.2000 L 142.9973,151.2000 L 142.9973,100.8000 L 197.8028,100.8000 L 197.8028,151.2000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_117"/><path d=" M 158.9973,34.6650 L 142.9973,50.6650 L 197.8028,50.6650 L 213.8028,34.6650 L 158.9973,34.6650 z " style="fill: #2f5c04; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_118"/><path d=" M 197.8028,100.8000 L 142.9973,100.8000 L 142.9973,50.6650 L 197.8028,50.6650 L 197.8028,100.8000 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_119"/><path d=" M 158.9973,31.9693 L 142.9973,47.9693 L 197.8028,47.9693 L 213.8028,31.9693 L 158.9973,31.9693 z " style="fill: #7a0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_120"/><path d=" M 197.8028,50.6650 L 142.9973,50.6650 L 142.9973,47.9693 L 197.8028,47.9693 L 197.8028,50.6650 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_121"/><path d=" M 213.8028,84.8000 L 197.8028,100.8000 L 197.8028,151.2000 L 213.8028,135.2000 L 213.8028,84.8000 z " style="fill: #2a5183; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_122"/><path d=" M 213.8028,34.6650 L 197.8028,50.6650 L 197.8028,100.8000 L 213.8028,84.8000 L 213.8028,34.6650 z " style="fill: #3e7b05; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_123"/><path d=" M 213.8028,31.9693 L 197.8028,47.9693 L 197.8028,50.6650 L 213.8028,34.6650 L 213.8028,31.9693 z " style="fill: #a30000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_124"/><path d=" M 219.7972,131.2256 L 203.7972,147.2256 L 258.6028,147.2256 L 274.6028,131.2256 L 219.7972,131.2256 z " style="fill: #1f3d62; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_125"/><path d=" M 258.6028,151.2000 L 203.7972,151.2000 L 203.7972,147.2256 L 258.6028,147.2256 L 258.6028,151.2000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_126"/><path d=" M 219.7972,122.6432 L 203.7972,138.6432 L 258.6028,138.6432 L 274.6028,122.6432 L 219.7972,122.6432 z " style="fill: #2f5c04; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_127"/><path d=" M 258.6028,147.2256 L 203.7972,147.2256 L 203.7972,138.6432 L 258.6028,138.6432 L 258.6028,147.2256 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_128"/><path d=" M 219.7972,121.4912 L 203.7972,137.4912 L 258.6028,137.4912 L 274.6028,121.4912 L 219.7972,121.4912 z " style="fill: #7a0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_129"/><path d=" M 258.6028,138.6432 L 203.7972,138.6432 L 203.7972,137.4912 L 258.6028,137.4912 L 258.6028,138.6432 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_130"/><path d=" M 274.6028,131.2256 L 258.6028,147.2256 L 258.6028,151.2000 L 274.6028,135.2000 L 274.6028,131.2256 z " style="fill: #2a5183; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_131"/><path d=" M 274.6028,122.6432 L 258.6028,138.6432 L 258.6028,147.2256 L 274.6028,131.2256 L 274.6028,122.6432 z " style="fill: #3e7b05; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_132"/><path d=" M 274.6028,121.4912 L 258.6028,137.4912 L 258.6028,138.6432 L 274.6028,122.6432 L 274.6028,121.4912 z " style="fill: #a30000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_133"/><path d=" M 319.4027,151.2000 L 264.5972,151.2000 L 264.5972,151.2000 L 319.4027,151.2000 L 319.4027,151.2000 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_134"/><path d=" M 280.5972,135.2000 L 264.5972,151.2000 L 319.4027,151.2000 L 335.4027,135.2000 L 280.5972,135.2000 z " style="fill: #7a0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_135"/><path d=" M 280.5972,121.3299 L 264.5972,137.3299 L 319.4027,137.3299 L 335.4027,121.3299 L 280.5972,121.3299 z " style="fill: #1f3d62; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_136"/><path d=" M 319.4027,151.2000 L 264.5972,151.2000 L 264.5972,137.3299 L 319.4027,137.3299 L 319.4027,151.2000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_137"/><path d=" M 280.5972,118.9798 L 264.5972,134.9798 L 319.4027,134.9798 L 335.4027,118.9798 L 280.5972,118.9798 z " style="fill: #2f5c04; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_138"/><path d=" M 319.4027,137.3299 L 264.5972,137.3299 L 264.5972,134.9798 L 319.4027,134.9798 L 319.4027,137.3299 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_139"/><path d=" M 335.4027,135.2000 L 319.4027,151.2000 L 319.4027,151.2000 L 335.4027,135.2000 L 335.4027,135.2000 z " style="fill: #a30000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_140"/><path d=" M 335.4027,121.3299 L 319.4027,137.3299 L 319.4027,151.2000 L 335.4027,135.2000 L 335.4027,121.3299 z " style="fill: #2a5183; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_141"/><path d=" M 335.4027,118.9798 L 319.4027,134.9798 L 319.4027,137.3299 L 335.4027,121.3299 L 335.4027,118.9798 z " style="fill: #3e7b05; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_142"/><path d=" M 380.2027,151.2000 L 325.3972,151.2000 L 325.3972,161.9597 L 380.2027,161.9597 L 380.2027,151.2000 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_143"/><path d=" M 341.3972,135.2000 L 325.3972,151.2000 L 380.2027,151.2000 L 396.2027,135.2000 L 341.3972,135.2000 z " style="fill: #7a0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_144"/><path d=" M 341.3972,132.5389 L 325.3972,148.5389 L 380.2027,148.5389 L 396.2027,132.5389 L 341.3972,132.5389 z " style="fill: #1f3d62; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_145"/><path d=" M 380.2027,151.2000 L 325.3972,151.2000 L 325.3972,148.5389 L 380.2027,148.5389 L 380.2027,151.2000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_146"/><path d=" M 341.3972,106.8378 L 325.3972,122.8378 L 380.2027,122.8378 L 396.2027,106.8378 L 341.3972,106.8378 z " style="fill: #2f5c04; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_147"/><path d=" M 380.2027,148.5389 L 325.3972,148.5389 L 325.3972,122.8378 L 380.2027,122.8378 L 380.2027,148.5389 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_148"/><path d=" M 396.2027,145.9597 L 380.2027,161.9597 L 380.2027,151.2000 L 396.2027,135.2000 L 396.2027,145.9597 z " style="fill: #a30000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_149"/><path d=" M 396.2027,132.5389 L 380.2027,148.5389 L 380.2027,151.2000 L 396.2027,135.2000 L 396.2027,132.5389 z " style="fill: #2a5183; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_150"/><path d=" M 396.2027,106.8378 L 380.2027,122.8378 L 380.2027,148.5389 L 396.2027,132.5389 L 396.2027,106.8378 z " style="fill: #3e7b05; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_151"/><path d=" M 402.1972,123.8298 L 386.1972,139.8298 L 441.0027,139.8298 L 457.0027,123.8298 L 402.1972,123.8298 z " style="fill: #1f3d62; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_152"/><path d=" M 441.0027,151.2000 L 386.1972,151.2000 L 386.1972,139.8298 L 441.0027,139.8298 L 441.0027,151.2000 z " style="fill: #3465a4; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_153"/><path d=" M 402.1972,118.2195 L 386.1972,134.2195 L 441.0027,134.2195 L 457.0027,118.2195 L 402.1972,118.2195 z " style="fill: #2f5c04; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_154"/><path d=" M 441.0027,139.8298 L 386.1972,139.8298 L 386.1972,134.2195 L 441.0027,134.2195 L 441.0027,139.8298 z " style="fill: #4e9a06; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_155"/><path d=" M 402.1972,94.6842 L 386.1972,110.6842 L 441.0027,110.6842 L 457.0027,94.6842 L 402.1972,94.6842 z " style="fill: #7a0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_156"/><path d=" M 441.0027,134.2195 L 386.1972,134.2195 L 386.1972,110.6842 L 441.0027,110.6842 L 441.0027,134.2195 z " style="fill: #cc0000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_157"/><path d=" M 457.0027,123.8298 L 441.0027,139.8298 L 441.0027,151.2000 L 457.0027,135.2000 L 457.0027,123.8298 z " style="fill: #2a5183; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_158"/><path d=" M 457.0027,118.2195 L 441.0027,134.2195 L 441.0027,139.8298 L 457.0027,123.8298 L 457.0027,118.2195 z " style="fill: #3e7b05; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_159"/><path d=" M 457.0027,94.6842 L 441.0027,110.6842 L 441.0027,134.2195 L 457.0027,118.2195 L 457.0027,94.6842 z " style="fill: #a30000; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_160"/><path d=" M 500.0000,133.2000 L 480.0000,153.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_161"/><path d=" M 480.0000,153.2000 L 100.0000,153.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_162"/><path d=" M 100.0000,153.2000 L 120.0000,133.2000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_163"/><path d=" M 158.0000,0.0000 L 138.0000,20.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_164"/><path d=" M 138.0000,20.0000 L 138.0000,200.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_165"/><path d=" M 138.0000,200.0000 L 158.0000,180.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_166"/><g id="ezcGraphTextBox_4"><path d=" M 16.5000,17.0000 L 16.5000,1.5000 L 62.5200,1.5000 L 62.5200,17.0000 L 16.5000,17.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_167"/><text id="ezcGraphTextBox_4_text" x="17.0000" text-length="44.5200px" y="13.9000" style="font-size: 14px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">sample</text></g><g id="ezcGraphTextBox_6"><path d=" M 16.5000,35.0000 L 16.5000,19.5000 L 77.3600,19.5000 L 77.3600,35.0000 L 16.5000,35.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_168"/><text id="ezcGraphTextBox_6_text" x="17.0000" text-length="59.3600px" y="31.9000" style="font-size: 14px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">sample 2</text></g><g id="ezcGraphTextBox_8"><path d=" M 16.5000,53.0000 L 16.5000,37.5000 L 77.3600,37.5000 L 77.3600,53.0000 L 16.5000,53.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_169"/><text id="ezcGraphTextBox_8_text" x="17.0000" text-length="59.3600px" y="49.9000" style="font-size: 14px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">sample 3</text></g><g id="ezcGraphTextBox_15"><path d=" M 147.8660,166.8000 L 147.8660,154.5000 L 189.4340,154.5000 L 189.4340,166.8000 L 147.8660,166.8000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_170"/><text id="ezcGraphTextBox_15_text" x="148.3660" text-length="40.0680px" y="164.1800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">Mozilla</text></g><g id="ezcGraphTextBox_19"><path d=" M 222.9760,166.8000 L 222.9760,154.5000 L 235.9240,154.5000 L 235.9240,166.8000 L 222.9760,166.8000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_171"/><text id="ezcGraphTextBox_19_text" x="223.4760" text-length="11.4480px" y="164.1800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">IE</text></g><g id="ezcGraphTextBox_23"><path d=" M 275.1900,166.8000 L 275.1900,154.5000 L 305.3100,154.5000 L 305.3100,166.8000 L 275.1900,166.8000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_172"/><text id="ezcGraphTextBox_23_text" x="275.6900" text-length="28.6200px" y="164.1800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">Opera</text></g><g id="ezcGraphTextBox_27"><path d=" M 338.8520,166.8000 L 338.8520,154.5000 L 363.2480,154.5000 L 363.2480,166.8000 L 338.8520,166.8000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_173"/><text id="ezcGraphTextBox_27_text" x="339.3520" text-length="22.8960px" y="164.1800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">wget</text></g><g id="ezcGraphTextBox_31"><path d=" M 393.9280,166.8000 L 393.9280,154.5000 L 429.7720,154.5000 L 429.7720,166.8000 L 393.9280,166.8000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_174"/><text id="ezcGraphTextBox_31_text" x="394.4280" text-length="34.3440px" y="164.1800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">Safari</text></g><g id="ezcGraphTextBox_38"><path d=" M 102.1200,181.2000 L 102.1200,168.9000 L 137.1000,168.9000 L 137.1000,181.2000 L 102.1200,181.2000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_175"/><text id="ezcGraphTextBox_38_text" x="102.6200" text-length="33.4800px" y="178.5800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">-2500</text></g><g id="ezcGraphTextBox_51"><path d=" M 128.9040,152.4000 L 128.9040,140.1000 L 137.1000,140.1000 L 137.1000,152.4000 L 128.9040,152.4000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_176"/><text id="ezcGraphTextBox_51_text" x="129.4040" text-length="6.6960px" y="149.7800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">0</text></g><g id="ezcGraphTextBox_67"><path d=" M 108.8160,123.6000 L 108.8160,111.3000 L 137.1000,111.3000 L 137.1000,123.6000 L 108.8160,123.6000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_177"/><text id="ezcGraphTextBox_67_text" x="109.3160" text-length="26.7840px" y="120.9800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">2500</text></g><g id="ezcGraphTextBox_83"><path d=" M 108.8160,94.8000 L 108.8160,82.5000 L 137.1000,82.5000 L 137.1000,94.8000 L 108.8160,94.8000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_178"/><text id="ezcGraphTextBox_83_text" x="109.3160" text-length="26.7840px" y="92.1800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">5000</text></g><g id="ezcGraphTextBox_99"><path d=" M 108.8160,66.0000 L 108.8160,53.7000 L 137.1000,53.7000 L 137.1000,66.0000 L 108.8160,66.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_179"/><text id="ezcGraphTextBox_99_text" x="109.3160" text-length="26.7840px" y="63.3800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">7500</text></g><g id="ezcGraphTextBox_115"><path d=" M 102.1200,51.6000 L 102.1200,39.3000 L 137.1000,39.3000 L 137.1000,51.6000 L 102.1200,51.6000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_180"/><text id="ezcGraphTextBox_115_text" x="102.6200" text-length="33.4800px" y="48.9800" style="font-size: 10px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">10000</text></g></g></svg>
diff --git a/tests/line_test.php b/tests/line_test.php
index 002af62..10243b5 100644
--- a/tests/line_test.php
+++ b/tests/line_test.php
@@ -548,6 +548,97 @@ class ezcGraphLineChartTest extends ezcGraphTestCase
$chart->render( 500, 200 );
}
+ public function testRenderChartStackedBars()
+ {
+ $chart = new ezcGraphBarChart();
+
+ $chart->options->stackBars = true;
+
+ $chart->data['sampleData'] = new ezcGraphArrayDataSet( array( 'sample 1' => 234, 'sample 2' => 21, 'sample 3' => -324, 'sample 4' => 120, 'sample 5' => -16 ) );
+ $chart->data['sampleData']->color = '#CC0000';
+ $chart->data['moreData'] = new ezcGraphArrayDataSet( array( 'sample 1' => 234, 'sample 2' => -21, 'sample 3' => 324, 'sample 4' => 220, 'sample 5' => -34 ) );
+ $chart->data['moreData']->color = '#0000CC';
+
+ $mockedRenderer = $this->getMock( 'ezcGraphRenderer2d', array(
+ 'drawStackedBar',
+ ) );
+
+ $mockedRenderer
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawStackedBar' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 140., 20., 460., 180. ), 1. ),
+ $this->equalTo( new ezcGraphContext( 'sampleData', 'sample 1' ) ),
+ $this->equalTo( ezcGraphColor::fromHex( '#CC0000' ) ),
+ $this->equalTo( new ezcGraphCoordinate( .1, .5 ), .05 ),
+ $this->equalTo( new ezcGraphCoordinate( .1, .266 ), .05 )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 4 ) )
+ ->method( 'drawStackedBar' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 140., 20., 460., 180. ), 1. ),
+ $this->equalTo( new ezcGraphContext( 'sampleData', 'sample 5' ) ),
+ $this->equalTo( ezcGraphColor::fromHex( '#CC0000' ) ),
+ $this->equalTo( new ezcGraphCoordinate( .9, .5 ), .05 ),
+ $this->equalTo( new ezcGraphCoordinate( .9, .516 ), .05 )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 5 ) )
+ ->method( 'drawStackedBar' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 140., 20., 460., 180. ), 1. ),
+ $this->equalTo( new ezcGraphContext( 'moreData', 'sample 1' ) ),
+ $this->equalTo( ezcGraphColor::fromHex( '#0000CC' ) ),
+ $this->equalTo( new ezcGraphCoordinate( .1, .266 ), .05 ),
+ $this->equalTo( new ezcGraphCoordinate( .1, .032 ), .05 )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 6 ) )
+ ->method( 'drawStackedBar' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 140., 20., 460., 180. ), 1. ),
+ $this->equalTo( new ezcGraphContext( 'moreData', 'sample 2' ) ),
+ $this->equalTo( ezcGraphColor::fromHex( '#0000CC' ) ),
+ $this->equalTo( new ezcGraphCoordinate( .3, .5 ), .05 ),
+ $this->equalTo( new ezcGraphCoordinate( .3, .521 ), .05 )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 7 ) )
+ ->method( 'drawStackedBar' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 140., 20., 460., 180. ), 1. ),
+ $this->equalTo( new ezcGraphContext( 'moreData', 'sample 3' ) ),
+ $this->equalTo( ezcGraphColor::fromHex( '#0000CC' ) ),
+ $this->equalTo( new ezcGraphCoordinate( .5, .5 ), .05 ),
+ $this->equalTo( new ezcGraphCoordinate( .5, .176 ), .05 )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 8 ) )
+ ->method( 'drawStackedBar' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 140., 20., 460., 180. ), 1. ),
+ $this->equalTo( new ezcGraphContext( 'moreData', 'sample 4' ) ),
+ $this->equalTo( ezcGraphColor::fromHex( '#0000CC' ) ),
+ $this->equalTo( new ezcGraphCoordinate( .7, .38 ), .05 ),
+ $this->equalTo( new ezcGraphCoordinate( .7, .16 ), .05 )
+ );
+ $mockedRenderer
+ ->expects( $this->at( 9 ) )
+ ->method( 'drawStackedBar' )
+ ->with(
+ $this->equalTo( new ezcGraphBoundings( 140., 20., 460., 180. ), 1. ),
+ $this->equalTo( new ezcGraphContext( 'moreData', 'sample 5' ) ),
+ $this->equalTo( ezcGraphColor::fromHex( '#0000CC' ) ),
+ $this->equalTo( new ezcGraphCoordinate( .9, .516 ), .05 ),
+ $this->equalTo( new ezcGraphCoordinate( .9, .55 ), .05 )
+ );
+
+ $chart->renderer = $mockedRenderer;
+
+ $chart->render( 500, 200 );
+ }
+
public function testRenderChartFilledLines()
{
$chart = new ezcGraphLineChart();
@@ -817,5 +908,86 @@ class ezcGraphLineChartTest extends ezcGraphTestCase
$this->basePath . 'compare/' . __CLASS__ . '_' . __FUNCTION__ . '.svg'
);
}
+
+ public function testStackedBarChart()
+ {
+ $filename = $this->tempDir . __FUNCTION__ . '.svg';
+
+ $chart = new ezcGraphBarChart();
+
+ $chart->options->stackBars = true;
+
+ $chart->data['sample'] = new ezcGraphArrayDataSet( array(
+ 'Mozilla' => 4375,
+ 'IE' => 345,
+ 'Opera' => 1204,
+ 'wget' => 231,
+ 'Safari' => 987,
+ ) );
+
+ $chart->data['sample 2'] = new ezcGraphArrayDataSet( array(
+ 'Mozilla' => 4352,
+ 'IE' => 745,
+ 'Opera' => 204,
+ 'wget' => 2231,
+ 'Safari' => 487,
+ ) );
+
+ $chart->data['sample 3'] = new ezcGraphArrayDataSet( array(
+ 'Mozilla' => 234,
+ 'IE' => 100,
+ 'Opera' => 0,
+ 'wget' => -934,
+ 'Safari' => 2043,
+ ) );
+
+ $chart->render( 500, 200, $filename );
+
+ $this->compare(
+ $filename,
+ $this->basePath . 'compare/' . __CLASS__ . '_' . __FUNCTION__ . '.svg'
+ );
+ }
+
+ public function testStackedBarChart3d()
+ {
+ $filename = $this->tempDir . __FUNCTION__ . '.svg';
+
+ $chart = new ezcGraphBarChart();
+
+ $chart->options->stackBars = true;
+
+ $chart->data['sample'] = new ezcGraphArrayDataSet( array(
+ 'Mozilla' => 4375,
+ 'IE' => 345,
+ 'Opera' => 1204,
+ 'wget' => 231,
+ 'Safari' => 987,
+ ) );
+
+ $chart->data['sample 2'] = new ezcGraphArrayDataSet( array(
+ 'Mozilla' => 4352,
+ 'IE' => 745,
+ 'Opera' => 204,
+ 'wget' => 2231,
+ 'Safari' => 487,
+ ) );
+
+ $chart->data['sample 3'] = new ezcGraphArrayDataSet( array(
+ 'Mozilla' => 234,
+ 'IE' => 100,
+ 'Opera' => 0,
+ 'wget' => -934,
+ 'Safari' => 2043,
+ ) );
+
+ $chart->renderer = new ezcGraphRenderer3d();
+ $chart->render( 500, 200, $filename );
+
+ $this->compare(
+ $filename,
+ $this->basePath . 'compare/' . __CLASS__ . '_' . __FUNCTION__ . '.svg'
+ );
+ }
}
?>
diff --git a/tests/renderer_2d_test.php b/tests/renderer_2d_test.php
index aeebf2b..a3ccda2 100644
--- a/tests/renderer_2d_test.php
+++ b/tests/renderer_2d_test.php
@@ -366,6 +366,46 @@ class ezcGraphRenderer2dTest extends ezcGraphTestCase
);
}
+ public function testRenderStackedBar()
+ {
+ $this->driver
+ ->expects( $this->at( 0 ) )
+ ->method( 'drawPolygon' )
+ ->with(
+ $this->equalTo( array(
+ new ezcGraphCoordinate( 155, 40. ),
+ new ezcGraphCoordinate( 155, 120. ),
+ new ezcGraphCoordinate( 245, 120. ),
+ new ezcGraphCoordinate( 245, 40. ),
+ ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#FF0000' ) ),
+ $this->equalTo( true )
+ );
+ $this->driver
+ ->expects( $this->at( 1 ) )
+ ->method( 'drawPolygon' )
+ ->with(
+ $this->equalTo( array(
+ new ezcGraphCoordinate( 155, 40. ),
+ new ezcGraphCoordinate( 155, 120. ),
+ new ezcGraphCoordinate( 245, 120. ),
+ new ezcGraphCoordinate( 245, 40. ),
+ ), 1. ),
+ $this->equalTo( ezcGraphColor::fromHex( '#800000' ) ),
+ $this->equalTo( false )
+ );
+
+ $this->renderer->drawStackedBar(
+ new ezcGraphBoundings( 0, 0, 400, 200 ),
+ new ezcGraphContext(),
+ ezcGraphColor::fromHex( '#FF0000' ),
+ new ezcGraphCoordinate( .5, .2 ),
+ new ezcGraphCoordinate( .5, .6 ),
+ 100,
+ 0
+ );
+ }
+
public function testRenderDataLine()
{
$this->driver
OpenPOWER on IntegriCloud