This page attempts to demonstrate/test many of the possible combinations of various parameters of the ChartPlugin. There are too many combinations of parameters to test all possible combinations, so only a few are shown here.
The following 4 tables are used for testing purposes.
Nr | Period | Min | Acceptable | Target | Exceptional | Actual | Comment |
---|---|---|---|---|---|---|---|
1 | Start | 0 | 50 | 70 | 90 | 39 | initial measure |
2 | FY03-Q1 | 0 | 35 | 75 | 95 | 55 | |
3 | FY03-Q2 | 0 | 35 | 75 | 95 | 36 | |
4 | FY03-Q3 | 0 | 40 | 80 | 100 | 62 | |
5 | FY03-Q4 | 0 | 40 | 80 | 100 | 72 | |
6 | FY04-Q1 | 0 | 40 | 80 | 100 | 68 |
Nr | 1 | 2 | 3 | 5 | 5 | 6 |
---|---|---|---|---|---|---|
Period | Start | FY03-Q1 | FY03-Q2 | FY03-Q3 | FY03-Q4 | FY04-Q1 |
Min | 0 | 0 | 0 | 0 | 0 | 0 |
Acceptable | 50 | 35 | 35 | 40 | 40 | 40 |
Target | 70 | 75 | 75 | 80 | 80 | 80 |
Exceptional | 90 | 95 | 95 | 100 | 100 | 100 |
Actual | 39 | 55 | 36 | 62 | 72 | 68 |
Comment | initial measure |
scatter
graphs.
A | B | C | D | E |
---|---|---|---|---|
1 | 3 | 6 | 33 | 2 |
1.4 | 6 | 22 | 2 | 4 |
1.8 | 2 | 5 | 6 | |
2.5 | 4 | 3 | 8 | |
4 | 7 | 6 | 43 | 10 |
5 | 13 | 44 | 25 | 12 |
7 | 8 | 1 | 4 | 14 |
6 | 35 | 3 | 8 | 16 |
8 | 2 | 22 | 4 | 18 |
9 | 7 | 6 | 13 | 20 |
line 1 | line 2 | line 3 | line 4 | sparse 1 | sparse 2 | semilog line | |
1990 | 0 | 0 | 0 | 0 | 0 | 0.2 | |
1991 | 0 | 0 | 0 | 0 | 35 | 1 | |
1992 | 2 | 12 | 22 | 32 | 35.5 | 5 | |
1993 | 3 | 20 | 20 | 33 | 38 | 35.2 | 25 |
1994 | 3 | 20 | 19.5 | 33 | 38.1 | 125 | |
1995 | 39 | 38 | 37 | 36 | 35.8 | 625 | |
1996 | 40 | 40 | 40 | 40 | 38.1 | 3125 | |
1997 | 40 | 41 | 42 | 43 | 35 | 15625 |
Simple single line. No other markings at all |
![]() |
Simple single line, add title. |
![]() |
Add X axis to above |
![]() |
Add Y axis to above |
![]() |
Add ymin = 0 to above |
![]() |
Add ymax = 100 to above |
![]() |
Add ylabel "Hello there" to above |
![]() |
Add numygrids="5" above |
![]() |
Change numygrids="2" above |
![]() |
Remove numygrids from above and add xlabel "Yep, an X title" to above |
![]() |
Add datalabel = on to above |
![]() |
Add datalabel = box to above |
![]() |
Add legend to above |
![]() |
Add additional data lines to above and update legend |
![]() |
Specify different colors to above. Now are lite red, lite green, lite blue, gray instead of defaults |
![]() |
Restore default colors and change datalabel such that only the last line has values in boxes and the 2nd to last has values (no box) to above |
![]() |
Same as above except specify bgcolor="#EEEEEE"
|
![]() |
Change bgcolor="#FFFFFF #EEEEEE"
|
![]() |
Change bgcolor="#EEEEEE #EEFFEE"
|
![]() |
Restore bgcolor and change ygrid = on to above |
![]() |
Change ygrid = off to above |
![]() |
Change xgrid = on to above |
![]() |
Change xgrid = off to above |
![]() |
Change width = 450 |
![]() |
Change height = 150 |
![]() |
Default width/height. Get data from ChartPluginTestsRemote. Specify table="2" on new topic = ChartPluginTestsRemote . Actual values should show up incremented by 0.52 since data is from a different topic page and the 0.02 denotes the data is from the 2nd table. Legend should show up with Remote since the data on the remote page was set up to include Remote in the legends |
![]() |
Same as above except add an additional data set (averages) that is calculated by %CALC%. Also shows that since only 4 default line colors are specified, the 5th line reuses the 1st default line color. |
![]() |
Set title = "Set a new title" to above |
![]() |
Same as above except add the alt tag = This is the alt tag |
![]() |
Simple single area. No other markings at all |
![]() |
Simple single area, add title. |
![]() |
Add X axis to above |
![]() |
Add Y axis to above |
![]() |
Add ymin = 0 to above |
![]() |
Add ymax = 100 to above |
![]() |
Add ylabel "Hello there" to above |
![]() |
Add numygrids="5" above |
![]() |
Change numygrids="2" above |
![]() |
Remove numygrids from above and add xlabel "Yep, an X title" to above |
![]() |
Add datalabel = on to above |
![]() |
Add datalabel = box to above |
![]() |
Add legend to above |
![]() |
Add additional data areas to above and update legend |
![]() |
Specify different colors to above. Now are lite red, lite green, lite blue, gray instead of defaults |
![]() |
Restore default colors and change datalabel such that only the last area has values in boxes and the 2nd to last has values (no box) to above |
![]() |
Same as above except specify bgcolor="#EEEEEE"
|
![]() |
Change bgcolor="#FFFFFF #EEEEEE"
|
![]() |
Change bgcolor="#EEEEEE #EEFFEE"
|
![]() |
Restore bgcolor and change ygrid = on to above |
![]() |
Change ygrid = off to above |
![]() |
Change xgrid = on to above |
![]() |
Change xgrid = off to above |
![]() |
Change width = 450 |
![]() |
Change height = 150 |
![]() |
Default width/height. Get data from ChartPluginTestsRemote. Specify table="2" on new topic = ChartPluginTestsRemote . Actual values should show up incremented by 0.52 since data is from a different topic page and the 0.02 denotes the data is from the 2nd table. Legend should show up with Remote since the data on the remote page was set up to include Remote in the legends |
![]() |
Same as above except add an additional data set (averages) that is calculated by %CALC%. Also shows that since only 4 default area colors are specified, the 5th area reuses the 1st default area color. |
![]() |
Set title = "Set a new title" to above |
![]() |
Same as above except add the alt tag = This is the alt tag |
![]() |
Simple single bar. No other markings at all |
![]() |
Simple single bar, add title. |
![]() |
Add X axis to above |
![]() |
Add Y axis to above |
![]() |
Add ymin = 0 to above |
![]() |
Add ymax = 100 to above |
![]() |
Add ylabel "Hello there" to above |
![]() |
Add numygrids="5" above |
![]() |
Change numygrids="2" above |
![]() |
Remove numygrids from above and add xlabel "Yep, an X title" to above |
![]() |
Add datalabel = on to above |
![]() |
Add datalabel = box to above |
![]() |
Add legend to above |
![]() |
Add additional data bars to above and update legend |
![]() |
Specify different colors to above. Now are lite red, lite green, lite blue, gray instead of defaults |
![]() |
Restore default colors and change datalabel such that only the last bar has values in boxes and the 2nd to last has values (no box) to above |
![]() |
Same as above except specify bgcolor="#EEEEEE"
|
![]() |
Change bgcolor="#FFFFFF #EEEEEE"
|
![]() |
Change bgcolor="#EEEEEE #EEFFEE"
|
![]() |
Restore bgcolor and change ygrid = on to above |
![]() |
Change ygrid = off to above |
![]() |
Change xgrid = on to above |
![]() |
Change xgrid = off to above |
![]() |
Change width = 450 |
![]() |
Change height = 150 |
![]() |
Default width/height. Get data from ChartPluginTestsRemote. Specify table="2" on new topic = ChartPluginTestsRemote . Actual values should show up incremented by 0.52 since data is from a different topic page and the 0.02 denotes the data is from the 2nd table. Legend should show up with Remote since the data on the remote page was set up to include Remote in the legends |
![]() |
Same as above except add an additional data set (averages) that is calculated by %CALC%. Also shows that since only 4 default bar colors are specified, the 5th bar reuses the 1st default bar color. |
![]() |
Set title = "Set a new title" to above |
![]() |
Same as above except add the alt tag = This is the alt tag |
![]() |
Simple combo graph using table #2. Since no datatype is defined and only a single data set, combo defaults to a single line . |
![]() |
Change so 3 data sets are drawn as areas and the last drawn as a line |
![]() |
Same as above, adding grid lines and both X and Y axis labels and titles |
![]() |
Same as above adding subtype="area" which should force all data sets to be drawn as area . Since the last data set would fall behind the previously drawn areas, it is drawn as a line |
![]() |
Same as above changing subtype="line" which should force all data sets to be drawn as line |
![]() |
Same as above changing subtype="bar" which should force all data sets to be drawn as bar |
![]() |
Same as above changing subtype="pline" which should force all data sets to be drawn as pline |
![]() |
Same as above changing subtype="point" which should force all data sets to be drawn as point |
![]() |
Same as above changing subtype="area line pline point" |
![]() |
Same as above changing subtype="line pline point area" |
![]() |
Same as above changing subtype="pline pline point bar" |
![]() |
Same as above changing subtype="area pline point bar" . This should produce an error as you can't combine area and bar subtypes |
ChartPlugin error: chart error: name=combo_12: Error: Can't mix 'area' and 'bar' subtypes on the same chart |
Simple scatter graph using table #3. Defaults to all data sets drawn as point |
![]() |
Same as above, adding title, grid lines and both X and Y axis labels and titles |
![]() |
Same as above adding subtype="line" |
![]() |
Same as above changing subtype="pline" |
![]() |
Same as above changing subtype="point" |
![]() |
Same as above changing subtype="bar" |
![]() |
Same as above changing subtype="point bar line pline" |
![]() |
Same as above changing subtype="bar line pline point" |
![]() |
Same as above changing subtype="line pline point bar" |
![]() |
Same as above changing subtype="pline point bar line" |
![]() |
Same as above changing subtype="bar bar bar pline" |
![]() |
Same as above changing subtype="area pline point bar" . This should produce an error as you can't combine area and bar subtypes |
ChartPlugin error: chart error: name=scatter_12: Error: Can't mix 'area' and 'bar' subtypes on the same chart |
Test that when all lines overlap on the very bottom of the chart, the legends all show up non-overlapped |
![]() |
Test that when two lines overlap in the middle of the chart, the legends get correctly placed |
![]() |
Similar to the test above, except the data is changed such that the placement of the legends for the two middle lines should be reversed |
![]() |
Test that when 4 lines are close to overlapping and are all located at the top of the chart, the legends get correctly placed. |
![]() |
Test that when 4 lines do exactly overlap at the top of the chart, the legends get correctly placed. |
![]() |
Test that the arrangement of legends of 4 lines located at the top of a chart is correct. |
![]() |
Test that even with a ymax set too low such that the lines go off the top of the chart, the legends still stay on the chart. |
![]() |
Test that even with a ymin set too high such that some lines do not even show up on the chart because they fall below the chart, the legends still stay on the chart. |
![]() |
Test extremes that even when ymin is set higher than all data, that the legends still get drawn on the chart. |
![]() |
Test extremes that even when ymax is set lower than all data, that the legends still get drawn on the chart. |
![]() |
Show what happens when there is so much data that the X axis labels overlap |
![]() |
Take the above graph and specify numxgrids = "3" making the X axis labels more readable |
![]() |
Take the first graph and specify xaxisangle = 90, changing the X axis label angle = 90 degrees |
![]() |
Show how scale=semilog makes the chart easier to read. Since ytics is NOT specified, it defaults to 8. |
![]() |
Show the above plotted data on a linear scale with ytics=1 |
![]() |
Show what happens when there is sparse data. defaultdata = 0 |
![]() |
Same as above, but now defaultdata = 10 |
![]() |
Same as above, but now defaultdata = "none" (empty) |
![]() |
Show default grid color with solid grid lines. |
![]() |
Change the grid color to blue. |
![]() |
Change the grid color back to the default but make them dotted |
![]() |
Change the grid style to be 5 black dots and 5 transparent dots. |
![]() |
Change the grid style to be 4 red dots, 4 green dots, 4 blue dots and 4 transparent dots. |
![]() |
Change the grid style to be 1 black dot which basically makes a solid line |
![]() |
Description | Expected Output | Output |
---|---|---|
no parameters passed to CHART |
ChartPlugin error: parameter name must be specified </ p> | ChartPlugin error: parameter name must be specified |
Define type but name not specified |
ChartPlugin error: parameter name must be specified </ p> | ChartPlugin error: parameter name must be specified |
Invalid type of badtype |
ChartPlugin error: Invalid value of badtype for parameter type </ p> | ChartPlugin error: Invalid value of badtype for parameter type |
Missing topic page |
ChartPlugin error: Error retrieving Foswiki topic DoesNotExist? </ p> | ChartPlugin error: Error retrieving Foswiki topic System.DoesNotExist |
Missing web |
ChartPlugin error: Error retrieving Foswiki topic ChartPluginTests? </ p> | ChartPlugin error: Error retrieving Foswiki topic DoesNotExist?.ChartPluginTests |
Invalid table number |
ChartPlugin error: parameter table is not valid table; the specified table '999' does not exist. </ p> | ChartPlugin error: parameter table is not valid table; the specified table '999' does not exist. |
No data specified |
ChartPlugin error: parameter data must be specified </ p> | ChartPlugin error: parameter data must be specified |
invalid xaxis value |
ChartPlugin error: parameter xaxis specifies multiple rows and columns. </ p> | ChartPlugin error: parameter xaxis specifies multiple (6X4) rows and columns. |
invalid legend |
ChartPlugin error: parameter legend specifies multiple rows and columns. </ p> | ChartPlugin error: parameter legend specifies multiple (2) rows. |
ymin = =ymax such that there is no chart height |
ChartPlugin error: chart error: name=err1: Chart height = 0 (ymin(10) == ymax(10)) </ p> | ChartPlugin error: chart error: name=err1: Chart height = 0 (ymin(10) == ymax(10)) |
xmin = =xmax such that there is no chart width |
ChartPlugin error: chart error: name=err1: Chart width = 0 (xmin(0) = xmax(0)) </ p> | ChartPlugin error: chart error: name=err1: Chart width = 0 (xmin(0) == xmax(0)) |
Use an invalid xaxis range |
ChartPlugin error: parameter xaxis value of 'R2:C2' is not valid </ p> | ![]() |
Use an invalid data range |
ChartPlugin error: parameter data value of 'R2:C4' is not valid </ p> | ChartPlugin error: chart error: name=err1: Error: Number of data points needs to be > 1 |
Use an invalid legend range |
ChartPlugin error: parameter legend contains an invalid value 'R1:C4'. </ p> | ChartPlugin error: parameter legend contains an invalid value 'R1:C4' since it specifies 1 legends and there are 4 data sets. |
scale=semilog and data <= 0 |
ChartPlugin error: data (0) <= 0 not valid when scale=semilog </ p> | ChartPlugin error: data (0) <= 0 not valid when scale=semilog |