diff options
author | Kore Nordmann <github@kore-nordmann.de> | 2006-12-13 11:10:53 +0000 |
---|---|---|
committer | Kore Nordmann <github@kore-nordmann.de> | 2006-12-13 11:10:53 +0000 |
commit | ab61c80e08eba3477e8918d3357d37f9d104fc0c (patch) | |
tree | dd71bc6c02aba37257de3001e504b2e41b990777 | |
parent | 5c274a550bf732ff5ffaf59db0d4a5f7b86a521e (diff) | |
download | zetacomponents-graph-ab61c80e08eba3477e8918d3357d37f9d104fc0c.zip zetacomponents-graph-ab61c80e08eba3477e8918d3357d37f9d104fc0c.tar.gz |
- Fixed: Bug #9795 (Interferring bars, when bars count is higher then major
step count)
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/charts/line.php | 8 | ||||
-rw-r--r-- | src/datasets/array.php | 10 | ||||
-rw-r--r-- | src/datasets/average.php | 10 | ||||
-rw-r--r-- | src/datasets/base.php | 2 | ||||
-rw-r--r-- | tests/data/compare/ezcGraphRenderer2dTest_testRenderBarChartWithMoreBarsThenMajorSteps.svg | 2 | ||||
-rw-r--r-- | tests/renderer_2d_test.php | 21 |
7 files changed, 53 insertions, 2 deletions
@@ -6,6 +6,8 @@ absoluteTreshHold to absoluteThreshold - Added feature #9647: Add render to output method +- Fixed issue #9795: Interferring bars, when bars count is higher then major + step count - Fixed issue #9764: 3D Pie chart segment side polygon in front of circular arc - Fixed issue #9762: Structs don't extend ezcBaseStruct diff --git a/src/charts/line.php b/src/charts/line.php index f33910e..8d2c0ad 100644 --- a/src/charts/line.php +++ b/src/charts/line.php @@ -211,10 +211,16 @@ class ezcGraphLineChart extends ezcGraphChart } break; case ezcGraph::BAR: + $barCount = ( + ( count ( $data ) - 1 ) > $this->elements['xAxis']->getMajorStepCount() ? + ( $this->elements['xAxis']->getMajorStepCount() + 1 ) * ( $this->elements['xAxis']->getMinorStepCount() - 1 ) : + $this->elements['xAxis']->getMajorStepCount() + ); + $width = $this->elements['xAxis']->axisLabelRenderer->modifyChartDataPosition( $this->elements['yAxis']->axisLabelRenderer->modifyChartDataPosition( new ezcGraphCoordinate( - ( $boundings->x1 - $boundings->x0 ) / $this->elements['xAxis']->getMajorStepCount(), + ( $boundings->x1 - $boundings->x0 ) / $barCount, 0 ) ) diff --git a/src/datasets/array.php b/src/datasets/array.php index 8eaf921..e28a761 100644 --- a/src/datasets/array.php +++ b/src/datasets/array.php @@ -42,6 +42,16 @@ class ezcGraphArrayDataSet extends ezcGraphDataSet $this->data[$key] = $value; } } + + /** + * Returns the number of elements in this dataset + * + * @return int + */ + public function count() + { + return count( $this->data ); + } } ?> diff --git a/src/datasets/average.php b/src/datasets/average.php index 0436ca0..96e790a 100644 --- a/src/datasets/average.php +++ b/src/datasets/average.php @@ -341,5 +341,15 @@ class ezcGraphDataSetAveragePolynom extends ezcGraphDataSet { $this->position = 0; } + + /** + * Returns the number of elements in this dataset + * + * @return int + */ + public function count() + { + return $this->resolution; + } } ?> diff --git a/src/datasets/base.php b/src/datasets/base.php index 8a41818..7a3a089 100644 --- a/src/datasets/base.php +++ b/src/datasets/base.php @@ -14,7 +14,7 @@ * @package Graph * @access private */ -abstract class ezcGraphDataSet implements ArrayAccess, Iterator +abstract class ezcGraphDataSet implements ArrayAccess, Iterator, Countable { /** diff --git a/tests/data/compare/ezcGraphRenderer2dTest_testRenderBarChartWithMoreBarsThenMajorSteps.svg b/tests/data/compare/ezcGraphRenderer2dTest_testRenderBarChartWithMoreBarsThenMajorSteps.svg new file mode 100644 index 0000000..d639c29 --- /dev/null +++ b/tests/data/compare/ezcGraphRenderer2dTest_testRenderBarChartWithMoreBarsThenMajorSteps.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,180.0000 L 500.0000,180.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_2"/><path d=" M 492.0000,184.0000 L 500.0000,180.0000 L 492.0000,176.0000 L 492.0000,184.0000 z " style="fill: #2e3436; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_3"/><path d=" M 50.0000,200.0000 L 50.0000,0.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_4"/><path d=" M 47.5000,5.0000 L 50.0000,0.0000 L 52.5000,5.0000 L 47.5000,5.0000 z " style="fill: #2e3436; fill-opacity: 1.00; stroke: none;" id="ezcGraphPolygon_5"/><path d=" M 182.0000,20.0000 L 182.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_7"/><path d=" M 183.3333,177.0000 L 183.3333,183.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_8"/><path d=" M 318.0000,20.0000 L 318.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_10"/><path d=" M 316.6667,177.0000 L 316.6667,183.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 450.0000,20.0000 L 450.0000,180.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_13"/><path d=" M 450.0000,177.0000 L 450.0000,183.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_14"/><path d=" M 50.0000,172.0000 L 450.0000,172.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 50.0000,172.0000 L 51.0000,172.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_17"/><path d=" M 50.0000,164.0000 L 450.0000,164.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_18"/><path d=" M 50.0000,164.0000 L 51.0000,164.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_19"/><path d=" M 50.0000,156.0000 L 450.0000,156.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 50.0000,156.0000 L 51.0000,156.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 50.0000,148.0000 L 450.0000,148.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_22"/><path d=" M 50.0000,148.0000 L 51.0000,148.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_23"/><path d=" M 50.0000,140.0000 L 450.0000,140.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 50.0000,140.0000 L 53.0000,140.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_25"/><path d=" M 50.0000,132.0000 L 450.0000,132.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_27"/><path d=" M 50.0000,132.0000 L 51.0000,132.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_28"/><path d=" M 50.0000,124.0000 L 450.0000,124.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_29"/><path d=" M 50.0000,124.0000 L 51.0000,124.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_30"/><path d=" M 50.0000,116.0000 L 450.0000,116.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 50.0000,116.0000 L 51.0000,116.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_32"/><path d=" M 50.0000,108.0000 L 450.0000,108.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 50.0000,108.0000 L 51.0000,108.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_34"/><path d=" M 50.0000,100.0000 L 450.0000,100.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 50.0000,100.0000 L 53.0000,100.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_36"/><path d=" M 50.0000,92.0000 L 450.0000,92.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_38"/><path d=" M 50.0000,92.0000 L 51.0000,92.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_39"/><path d=" M 50.0000,84.0000 L 450.0000,84.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 50.0000,84.0000 L 51.0000,84.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_41"/><path d=" M 50.0000,76.0000 L 450.0000,76.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 50.0000,76.0000 L 51.0000,76.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_43"/><path d=" M 50.0000,68.0000 L 450.0000,68.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 50.0000,68.0000 L 51.0000,68.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_45"/><path d=" M 50.0000,60.0000 L 450.0000,60.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 50.0000,60.0000 L 53.0000,60.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_47"/><path d=" M 50.0000,52.0000 L 450.0000,52.0000" style="fill: none; stroke: #000000; stroke-width: 1; stroke-opacity: 0.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_49"/><path d=" M 50.0000,52.0000 L 51.0000,52.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_50"/><path d=" M 50.0000,44.0000 L 450.0000,44.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 50.0000,44.0000 L 51.0000,44.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_52"/><path d=" M 50.0000,36.0000 L 450.0000,36.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 50.0000,36.0000 L 51.0000,36.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_54"/><path d=" M 50.0000,28.0000 L 450.0000,28.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 50.0000,28.0000 L 51.0000,28.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_56"/><path d=" M 50.0000,20.0000 L 450.0000,20.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 50.0000,20.0000 L 53.0000,20.0000" style="fill: none; stroke: #2e3436; stroke-width: 1; stroke-opacity: 1.00; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphLine_58"/><path d=" M 122.1343,180.0000 L 111.1990,180.0000 L 111.1990,178.0800 L 122.1343,178.0800 L 122.1343,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_60"/><path d=" M 122.1343,180.0000 L 111.1990,180.0000 L 111.1990,178.0800 L 122.1343,178.0800 L 122.1343,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_61"/><path d=" M 135.4677,180.0000 L 124.5323,180.0000 L 124.5323,173.1200 L 135.4677,173.1200 L 135.4677,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_62"/><path d=" M 135.4677,180.0000 L 124.5323,180.0000 L 124.5323,173.1200 L 135.4677,173.1200 L 135.4677,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_63"/><path d=" M 148.8010,180.0000 L 137.8657,180.0000 L 137.8657,128.1600 L 148.8010,128.1600 L 148.8010,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_64"/><path d=" M 148.8010,180.0000 L 137.8657,180.0000 L 137.8657,128.1600 L 148.8010,128.1600 L 148.8010,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_65"/><path d=" M 162.1343,180.0000 L 151.1990,180.0000 L 151.1990,178.0800 L 162.1343,178.0800 L 162.1343,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_66"/><path d=" M 162.1343,180.0000 L 151.1990,180.0000 L 151.1990,178.0800 L 162.1343,178.0800 L 162.1343,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_67"/><path d=" M 175.4677,180.0000 L 164.5323,180.0000 L 164.5323,173.1200 L 175.4677,173.1200 L 175.4677,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_68"/><path d=" M 175.4677,180.0000 L 164.5323,180.0000 L 164.5323,173.1200 L 175.4677,173.1200 L 175.4677,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_69"/><path d=" M 188.8010,180.0000 L 177.8657,180.0000 L 177.8657,160.0000 L 188.8010,160.0000 L 188.8010,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_70"/><path d=" M 188.8010,180.0000 L 177.8657,180.0000 L 177.8657,160.0000 L 188.8010,160.0000 L 188.8010,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_71"/><path d=" M 202.1343,180.0000 L 191.1990,180.0000 L 191.1990,160.8000 L 202.1343,160.8000 L 202.1343,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_72"/><path d=" M 202.1343,180.0000 L 191.1990,180.0000 L 191.1990,160.8000 L 202.1343,160.8000 L 202.1343,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_73"/><path d=" M 215.4677,180.0000 L 204.5323,180.0000 L 204.5323,160.3200 L 215.4677,160.3200 L 215.4677,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_74"/><path d=" M 215.4677,180.0000 L 204.5323,180.0000 L 204.5323,160.3200 L 215.4677,160.3200 L 215.4677,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_75"/><path d=" M 228.8010,180.0000 L 217.8657,180.0000 L 217.8657,93.1200 L 228.8010,93.1200 L 228.8010,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_76"/><path d=" M 228.8010,180.0000 L 217.8657,180.0000 L 217.8657,93.1200 L 228.8010,93.1200 L 228.8010,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_77"/><path d=" M 242.1343,180.0000 L 231.1990,180.0000 L 231.1990,178.0800 L 242.1343,178.0800 L 242.1343,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_78"/><path d=" M 242.1343,180.0000 L 231.1990,180.0000 L 231.1990,178.0800 L 242.1343,178.0800 L 242.1343,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_79"/><path d=" M 255.4677,180.0000 L 244.5323,180.0000 L 244.5323,172.8000 L 255.4677,172.8000 L 255.4677,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_80"/><path d=" M 255.4677,180.0000 L 244.5323,180.0000 L 244.5323,172.8000 L 255.4677,172.8000 L 255.4677,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_81"/><path d=" M 268.8010,180.0000 L 257.8657,180.0000 L 257.8657,167.8400 L 268.8010,167.8400 L 268.8010,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_82"/><path d=" M 268.8010,180.0000 L 257.8657,180.0000 L 257.8657,167.8400 L 268.8010,167.8400 L 268.8010,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_83"/><path d=" M 282.1343,180.0000 L 271.1990,180.0000 L 271.1990,166.0800 L 282.1343,166.0800 L 282.1343,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_84"/><path d=" M 282.1343,180.0000 L 271.1990,180.0000 L 271.1990,166.0800 L 282.1343,166.0800 L 282.1343,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_85"/><path d=" M 295.4677,180.0000 L 284.5323,180.0000 L 284.5323,164.1600 L 295.4677,164.1600 L 295.4677,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_86"/><path d=" M 295.4677,180.0000 L 284.5323,180.0000 L 284.5323,164.1600 L 295.4677,164.1600 L 295.4677,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_87"/><path d=" M 308.8010,180.0000 L 297.8657,180.0000 L 297.8657,46.5600 L 308.8010,46.5600 L 308.8010,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_88"/><path d=" M 308.8010,180.0000 L 297.8657,180.0000 L 297.8657,46.5600 L 308.8010,46.5600 L 308.8010,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_89"/><path d=" M 322.1343,180.0000 L 311.1990,180.0000 L 311.1990,174.5600 L 322.1343,174.5600 L 322.1343,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_90"/><path d=" M 322.1343,180.0000 L 311.1990,180.0000 L 311.1990,174.5600 L 322.1343,174.5600 L 322.1343,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_91"/><path d=" M 335.4677,180.0000 L 324.5323,180.0000 L 324.5323,107.5200 L 335.4677,107.5200 L 335.4677,180.0000 z " style="fill: #3465a4; fill-opacity: 0.50; stroke: none;" id="ezcGraphPolygon_92"/><path d=" M 335.4677,180.0000 L 324.5323,180.0000 L 324.5323,107.5200 L 335.4677,107.5200 L 335.4677,180.0000 z " style="fill: none; stroke: #1a3352; stroke-width: 1; stroke-opacity: 0.50; stroke-linecap: round; stroke-linejoin: round;" id="ezcGraphPolygon_93"/><g id="ezcGraphTextBox_6"><path d=" M 94.5400,199.0000 L 94.5400,181.5000 L 105.9600,181.5000 L 105.9600,199.0000 L 94.5400,199.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_94"/><text id="ezcGraphTextBox_6_text" x="95.04" text-length="9.92px" y="195.6" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">0</text></g><g id="ezcGraphTextBox_9"><path d=" M 222.9133,199.0000 L 222.9133,181.5000 L 244.2533,181.5000 L 244.2533,199.0000 L 222.9133,199.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_95"/><text id="ezcGraphTextBox_9_text" x="223.41333333333" text-length="19.84px" y="195.6" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">10</text></g><g id="ezcGraphTextBox_12"><path d=" M 356.2467,199.0000 L 356.2467,181.5000 L 377.5867,181.5000 L 377.5867,199.0000 L 356.2467,199.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_96"/><text id="ezcGraphTextBox_12_text" x="356.74666666667" text-length="19.84px" y="195.6" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">20</text></g><g id="ezcGraphTextBox_15"><path d=" M 37.5800,179.0000 L 37.5800,161.5000 L 49.0000,161.5000 L 49.0000,179.0000 L 37.5800,179.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_97"/><text id="ezcGraphTextBox_15_text" x="38.08" text-length="9.92px" y="175.6" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">0</text></g><g id="ezcGraphTextBox_26"><path d=" M 17.7400,139.0000 L 17.7400,121.5000 L 49.0000,121.5000 L 49.0000,139.0000 L 17.7400,139.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_98"/><text id="ezcGraphTextBox_26_text" x="18.24" text-length="29.76px" y="135.6" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">250</text></g><g id="ezcGraphTextBox_37"><path d=" M 17.7400,99.0000 L 17.7400,81.5000 L 49.0000,81.5000 L 49.0000,99.0000 L 17.7400,99.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_99"/><text id="ezcGraphTextBox_37_text" x="18.24" text-length="29.76px" y="95.6" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">500</text></g><g id="ezcGraphTextBox_48"><path d=" M 17.7400,59.0000 L 17.7400,41.5000 L 49.0000,41.5000 L 49.0000,59.0000 L 17.7400,59.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_100"/><text id="ezcGraphTextBox_48_text" x="18.24" text-length="29.76px" y="55.6" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">750</text></g><g id="ezcGraphTextBox_59"><path d=" M 7.8200,39.0000 L 7.8200,21.5000 L 49.0000,21.5000 L 49.0000,39.0000 L 7.8200,39.0000 z " style="fill: #ffffff; fill-opacity: 0.00; stroke: none;" id="ezcGraphPolygon_101"/><text id="ezcGraphTextBox_59_text" x="8.32" text-length="39.68px" y="35.6" style="font-size: 16px; font-family: sans-serif; fill: #2e3436; fill-opacity: 1.00; stroke: none;">1000</text></g></g></svg> diff --git a/tests/renderer_2d_test.php b/tests/renderer_2d_test.php index 2fb6832..7a88195 100644 --- a/tests/renderer_2d_test.php +++ b/tests/renderer_2d_test.php @@ -1594,6 +1594,27 @@ class ezcGraphRenderer2dTest extends ezcTestCase ); } + public function testRenderBarChartWithMoreBarsThenMajorSteps() + { + $filename = $this->tempDir . __FUNCTION__ . '.svg'; + + $chart = new ezcGraphBarChart(); + $chart->legend = false; + + $chart->xAxis = new ezcGraphChartElementNumericAxis(); + $chart->xAxis->axisLabelRenderer = new ezcGraphAxisBoxedLabelRenderer(); + + $chart->data['dataset'] = new ezcGraphArrayDataSet( array( 12, 43, 324, 12, 43, 125, 120, 123 , 543, 12, 45, 76, 87 , 99, 834, 34, 453 ) ); + $chart->data['dataset']->color = '#3465A47F'; + + $chart->render( 500, 200, $filename ); + + $this->compare( + $filename, + $this->basePath . 'compare/' . __CLASS__ . '_' . __FUNCTION__ . '.svg' + ); + } + public function testRenderFilledLineBarChart() { $filename = $this->tempDir . __FUNCTION__ . '.svg'; |