Difference between revisions of "Template:Brick chart/Bricks"

From blackwiki
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>Spiderjerky
 
(3 intermediate revisions by 2 users not shown)
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}}} mod {{{stride|10}}} > 0|none|left}};
+
   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}}} - {{{offset|0}}} mod {{{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}}} }}%;
 
   ">&nbsp;</div>{{
 
   ">&nbsp;</div>{{
   #ifexpr:{{{count|0}}} > {{min|{{#expr:( {{{stride|10}}} -
+
   #ifexpr:{{{count|0}}} > {{min
      {{{offset|0}}} mod {{{stride|10}}})}}|{{{count|0}}} }}
+
      |{{#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( ({{{count|0}}}
+
       floor( {{{count|0}}}
        - {{min|{{#expr:({{{stride|10}}}
+
      - {{min
          - {{{offset|0}}} mod {{{stride|10}}})}}|{{{count|0}}}}}
+
            |{{#expr: {{{stride|10}}} - ( {{{offset|0}}} - {{{stride|10}}} *
        - ( ({{{count|0}}} + {{{offset|0}}}) mod {{{stride|10}}})
+
                  floor( ( {{{offset|0}}} )/{{{stride|10}}} ) ) }}
        )/{{{stride|10}}}) * 100/{{{stride|10}}} }}%;<!--
+
            |{{{count|0}}}}}
 +
      - ( {{{count|0}}}+{{{offset|0}}} - {{{stride|10}}} *
 +
          floor( ( {{{count|0}}}+{{{offset|0}}} )/{{{stride|10}}} )
 +
        ) ) }}%<!--
 
     -->">&nbsp;</div>{{
 
     -->">&nbsp;</div>{{
     #ifexpr:(({{{count|0}}} + {{{offset|0}}}) mod {{{stride|10}}}) > 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}}}) mod {{{stride|10}}}
+
         width:{{#expr: ( {{{count|0}}}+{{{offset|0}}} - {{{stride|10}}} *
                      ) * 100/{{{stride|10}}} }}%;<!--
+
          floor( ( {{{count|0}}}+{{{offset|0}}} )/{{{stride|10}}} ) )
 +
              * 100/{{{stride|10}}} }}%;<!--
 
         -->">&nbsp;</div>
 
         -->">&nbsp;</div>
 
     }}
 
     }}
Line 48: Line 58:
 
--NOTES
 
--NOTES
 
--
 
--
-- NOTE A1: This template draws 1-3 line segments for: the initial bricks,
+
-- 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 S2: For a line to be visible, there must be a non-breaking space,
+
-- NOTE B2: The position of the bar line segments is set by "clear:none;"
--      where the div-tag contains an "&nbsp;".
+
--      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 "&nbsp;". 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 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 &nbsp; - a web-color name or number (see all: [[Web colors]]).
  
The '''[[Template:Brick_chart/Bricks]]''' draws bricks for {{tl|Brick chart}}.
+
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:Chart, diagram and graph formatting and function templates]]
 
</noinclude>
 
</noinclude>

Latest revision as of 14:14, 20 January 2015

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.