Difference between revisions of "Template:Brick chart/Bricks"
Jump to navigation
Jump to search
imported>Wikid77 (updated from /sandbox version to fix overlapped line segments by "overflow:hidden;", added NOTES & HISTORY comments.) |
imported>Wikid77 (allowed decimal numbers by replacing function 'x mod n' as: {x} - {n}*floor( {x}/{n} ); new NOTE B2 for "clear:none" & NOTE M3 for modulo formula; listed "Parameters" in doc-text.) |
||
| Line 9: | Line 9: | ||
|<!--show initial brick(s)--><div style=" | |<!--show initial brick(s)--><div style=" | ||
background:{{{color|silver}}}; | background:{{{color|silver}}}; | ||
| − | float:left; | + | float:left; <!--see NOTE B2 & NOTE M3--> |
| − | clear:{{#ifexpr:{{{offset|0}}} | + | clear:{{#ifexpr: {{{offset|0}}} - {{{stride|10}}} * |
| + | floor( ({{{offset|0}}})/{{{stride|10}}} ) > 0.001*{{{stride|10}}} | ||
| + | |none|left}}; | ||
height:{{#expr:100/{{{stride|10}}} }}%; | height:{{#expr:100/{{{stride|10}}} }}%; | ||
overflow:hidden; | overflow:hidden; | ||
width:{{#expr: | width:{{#expr: | ||
| − | {{min|{{#expr:({{{stride|10}}} | + | {{min|{{#expr: {{{stride|10}}} - ( {{{offset|0}}} - {{{stride|10}}} * |
| + | floor( ( {{{offset|0}}} )/{{{stride|10}}} ) ) }} | ||
|{{{count|0}}}}} * 100/{{{stride|10}}} }}%; | |{{{count|0}}}}} * 100/{{{stride|10}}} }}%; | ||
"> </div>{{ | "> </div>{{ | ||
| − | #ifexpr:{{{count|0}}} > {{min|{{#expr:( {{{stride|10}}} | + | #ifexpr:{{{count|0}}} > {{min |
| − | + | |{{#expr: {{{stride|10}}} - ( {{{offset|0}}} - {{{stride|10}}} * | |
| + | floor( ( {{{offset|0}}} )/{{{stride|10}}} ) ) }} | ||
| + | |{{{count|0}}} }} | ||
|<!--show full-line bricks--><div style=" | |<!--show full-line bricks--><div style=" | ||
background:{{{color|grey}}}; | background:{{{color|grey}}}; | ||
| Line 26: | Line 31: | ||
overflow:hidden; | overflow:hidden; | ||
height:{{#expr: | height:{{#expr: | ||
| − | floor | + | floor( {{{count|0}}} |
| − | + | - {{min | |
| − | + | |{{#expr: {{{stride|10}}} - ( {{{offset|0}}} - {{{stride|10}}} * | |
| − | + | floor( ( {{{offset|0}}} )/{{{stride|10}}} ) ) }} | |
| − | + | |{{{count|0}}}}} | |
| + | - ( {{{count|0}}}+{{{offset|0}}} - {{{stride|10}}} * | ||
| + | floor( ( {{{count|0}}}+{{{offset|0}}} )/{{{stride|10}}} ) | ||
| + | ) ) }}%<!-- | ||
-->"> </div>{{ | -->"> </div>{{ | ||
| − | #ifexpr:(({{{count|0}}} + {{{offset|0}}}) | + | #ifexpr: {{{count|0}}}+{{{offset|0}}} - {{{stride|10}}} * |
| + | floor( ( {{{count|0}}}+{{{offset|0}}} )/{{{stride|10}}} ) > 0 | ||
|<!--show final bricks (if any)--><div style=" | |<!--show final bricks (if any)--><div style=" | ||
background:{{{color|silver}}}; | background:{{{color|silver}}}; | ||
| Line 39: | Line 48: | ||
overflow:hidden; | overflow:hidden; | ||
height:{{#expr:100/{{{stride|10}}} }}%; | height:{{#expr:100/{{{stride|10}}} }}%; | ||
| − | width:{{#expr:( ({{{count|0}}} + {{{offset|0}}}) | + | width:{{#expr: ( {{{count|0}}}+{{{offset|0}}} - {{{stride|10}}} * |
| − | + | floor( ( {{{count|0}}}+{{{offset|0}}} )/{{{stride|10}}} ) ) | |
| + | * 100/{{{stride|10}}} }}%;<!-- | ||
-->"> </div> | -->"> </div> | ||
}} | }} | ||
| Line 48: | Line 58: | ||
--NOTES | --NOTES | ||
-- | -- | ||
| − | -- NOTE A1: This template draws 1 | + | -- NOTE A1: This template draws 1 to 3 line segments for: the initial bricks, |
-- whole lines of middle bricks, and the final bricks (if any). | -- whole lines of middle bricks, and the final bricks (if any). | ||
-- | -- | ||
| − | -- NOTE | + | -- NOTE B2: The position of the bar line segments is set by "clear:none;" |
| − | -- where | + | -- to append to the prior bar, or "clear:left;" for a new line segment |
| + | -- as set by the first div-tag: <div style="float:left; clear:...;">. | ||
| + | -- Other options, as "background:{{{color}}};" are in the same div-tag. | ||
| + | -- | ||
| + | -- NOTE M3: To allow decimal numbers, the calculations which used modulo | ||
| + | -- function 'x mod n' were rewritten to use division and floor(x), as: | ||
| + | -- {x} - {n}*floor( {x}/{n} ). Hence, '{offset} mod {stride}' became | ||
| + | -- the formula: {{{offset|0}}} - {{{stride|10}}} * | ||
| + | -- floor( ( {{{offset|0}}} )/{{{stride|10}}} ). | ||
| + | -- Although mod was limited to integers, the formula allows any amounts | ||
| + | -- as if: 16.45 mod 10 = 6.45, and brick bars scale for those numbers. | ||
| + | -- | ||
| + | -- NOTE S4: For a line segment to be visible, there must be a non-breaking | ||
| + | -- space, where each div-tag contains an " ". However, the size | ||
| + | -- of the line segment can be shorter than a space. | ||
-- | -- | ||
---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ||
| Line 62: | Line 86: | ||
-17Sep2012 Fixed overlapped bars by full use of div-tag "overflow:hidden;". | -17Sep2012 Fixed overlapped bars by full use of div-tag "overflow:hidden;". | ||
-17Sep2012 Added "overflow:hidden;" to 3rd line segment to match 1 & 2. | -17Sep2012 Added "overflow:hidden;" to 3rd line segment to match 1 & 2. | ||
| + | -18Sep2012 Allowed decimals by replacing mod as: {c} - 10*floor( {c}/10 ). | ||
--> | --> | ||
| − | The '''[[Template:Brick_chart/Bricks]]''' draws bricks for {{tl|Brick chart}}. | + | The '''[[Template:Brick_chart/Bricks]]''' draws bricks for {{tl|Brick chart}}. The bricks are displayed as 1, 2 or 3 bar line segments, depending on the offset and count numbers. |
| + | |||
| + | Parameters: | ||
| + | |||
| + | :* count - the number (or decimal) to represent by bar line segments | ||
| + | :* offset - the sum of prior count numbers (can be: 2+5+7.8, etc.) | ||
| + | :* stride - width of lines (in number units) in the brick chart (default: 10) | ||
| + | :* color - a web-color name or number (see all: [[Web colors]]). | ||
| + | |||
| + | The height of a bar line segment is 100/{stride}% with default as 10%. The default offset=0, and the full effects of the template can only be seen when | ||
| + | run multiple times, with the bar line segments displayed together, as when invoked several times from [[Template:Brick_chart]]. | ||
| + | [[Category:Wikipedia formatting and function templates]] | ||
</noinclude> | </noinclude> | ||
Revision as of 04:56, 18 September 2012
The Template:Brick_chart/Bricks draws bricks for {{Brick chart}}. The bricks are displayed as 1, 2 or 3 bar line segments, depending on the offset and count numbers.
Parameters:
- count - the number (or decimal) to represent by bar line segments
- offset - the sum of prior count numbers (can be: 2+5+7.8, etc.)
- stride - width of lines (in number units) in the brick chart (default: 10)
- color - a web-color name or number (see all: Web colors).
The height of a bar line segment is 100/{stride}% with default as 10%. The default offset=0, and the full effects of the template can only be seen when run multiple times, with the bar line segments displayed together, as when invoked several times from Template:Brick_chart.