| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <meta name="generator" content="JsDoc Toolkit" />
-
- <title>JsDoc Reference - pv.Tree</title>
- <style type="text/css">
- /* default.css */
- body
- {
- font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
- width: 800px;
- }
- .header
- {
- clear: both;
- background-color: #ccc;
- padding: 8px;
- }
- h1
- {
- font-size: 150%;
- font-weight: bold;
- padding: 0;
- margin: 1em 0 0 .3em;
- }
- hr
- {
- border: none 0;
- border-top: 1px solid #7F8FB1;
- height: 1px;
- }
- pre.code
- {
- display: block;
- padding: 8px;
- border: 1px dashed #ccc;
- }
- #index
- {
- margin-top: 24px;
- float: left;
- width: 160px;
- position: absolute;
- left: 8px;
- background-color: #F3F3F3;
- padding: 8px;
- }
- #content
- {
- margin-left: 190px;
- width: 600px;
- }
- .classList
- {
- list-style-type: none;
- padding: 0;
- margin: 0 0 0 8px;
- font-family: arial, sans-serif;
- font-size: 1em;
- overflow: auto;
- }
- .classList li
- {
- padding: 0;
- margin: 0 0 8px 0;
- }
- .summaryTable { width: 100%; }
- h1.classTitle
- {
- font-size:170%;
- line-height:130%;
- }
- h2 { font-size: 110%; }
- caption, div.sectionTitle
- {
- background-color: #7F8FB1;
- color: #fff;
- font-size:130%;
- text-align: left;
- padding: 2px 6px 2px 6px;
- border: 1px #7F8FB1 solid;
- }
- div.sectionTitle { margin-bottom: 8px; }
- .summaryTable thead { display: none; }
- .summaryTable td
- {
- vertical-align: top;
- padding: 4px;
- border-bottom: 1px #7F8FB1 solid;
- border-right: 1px #7F8FB1 solid;
- }
- /*col#summaryAttributes {}*/
- .summaryTable td.attributes
- {
- border-left: 1px #7F8FB1 solid;
- width: 140px;
- text-align: right;
- }
- td.attributes, .fixedFont
- {
- line-height: 15px;
- color: #002EBE;
- font-family: "Courier New",Courier,monospace;
- font-size: 13px;
- }
- .summaryTable td.nameDescription
- {
- text-align: left;
- font-size: 13px;
- line-height: 15px;
- }
- .summaryTable td.nameDescription, .description
- {
- line-height: 15px;
- padding: 4px;
- padding-left: 4px;
- }
- pre
- {
- border-left: solid 10px #ddd;
- padding-left: 1.5em;
- }
- .summaryTable { margin-bottom: 8px; }
- ul.inheritsList
- {
- list-style: square;
- margin-left: 20px;
- padding-left: 0;
- }
- .detailList {
- margin-left: 20px;
- line-height: 15px;
- }
- .detailList dt { margin-left: 20px; }
- .detailList .heading
- {
- font-weight: bold;
- padding-bottom: 6px;
- margin-left: 0;
- }
- .light, td.attributes, .light a:link, .light a:visited
- {
- color: #777;
- font-style: italic;
- }
- .fineprint
- {
- text-align: right;
- font-size: 10px;
- }
- </style>
- </head>
- <body>
- <!-- ============================== header ================================= -->
- <!-- begin static/header.html -->
- <div id="header">
- </div>
- <!-- end static/header.html -->
- <!-- ============================== classes index ============================ -->
- <div id="index">
- <!-- begin publish.classesIndex -->
- <div align="center"><a href="../index.html">Class Index</a>
- | <a href="../files.html">File Index</a></div>
- <hr />
- <h2>Classes</h2>
- <ul class="classList">
-
- <li><i><a href="../symbols/_global_.html">_global_</a></i></li>
-
- <li><a href="../symbols/Array.html">Array</a></li>
-
- <li><a href="../symbols/Date.html">Date</a></li>
-
- <li><a href="../symbols/pv.html">pv</a></li>
-
- <li><a href="../symbols/pv.Anchor.html">pv.Anchor</a></li>
-
- <li><a href="../symbols/pv.Area.html">pv.Area</a></li>
-
- <li><a href="../symbols/pv.Bar.html">pv.Bar</a></li>
-
- <li><a href="../symbols/pv.Color.html">pv.Color</a></li>
-
- <li><a href="../symbols/pv.Color.Hsl.html">pv.Color.Hsl</a></li>
-
- <li><a href="../symbols/pv.Color.Rgb.html">pv.Color.Rgb</a></li>
-
- <li><a href="../symbols/pv.Colors.html">pv.Colors</a></li>
-
- <li><a href="../symbols/pv.Dot.html">pv.Dot</a></li>
-
- <li><a href="../symbols/pv.Flatten.html">pv.Flatten</a></li>
-
- <li><a href="../symbols/pv.Image.html">pv.Image</a></li>
-
- <li><a href="../symbols/pv.Label.html">pv.Label</a></li>
-
- <li><a href="../symbols/pv.Layout.grid.html">pv.Layout.grid</a></li>
-
- <li><a href="../symbols/pv.Layout.icicle.html">pv.Layout.icicle</a></li>
-
- <li><a href="../symbols/pv.Layout.stack.html">pv.Layout.stack</a></li>
-
- <li><a href="../symbols/pv.Layout.sunburst.html">pv.Layout.sunburst</a></li>
-
- <li><a href="../symbols/pv.Layout.treemap.html">pv.Layout.treemap</a></li>
-
- <li><a href="../symbols/pv.Line.html">pv.Line</a></li>
-
- <li><a href="../symbols/pv.Mark.html">pv.Mark</a></li>
-
- <li><a href="../symbols/pv.Nest.html">pv.Nest</a></li>
-
- <li><a href="../symbols/pv.ns.html">pv.ns</a></li>
-
- <li><a href="../symbols/pv.Panel.html">pv.Panel</a></li>
-
- <li><a href="../symbols/pv.Rule.html">pv.Rule</a></li>
-
- <li><a href="../symbols/pv.Scale.linear.html">pv.Scale.linear</a></li>
-
- <li><a href="../symbols/pv.Scale.log.html">pv.Scale.log</a></li>
-
- <li><a href="../symbols/pv.Scale.ordinal.html">pv.Scale.ordinal</a></li>
-
- <li><a href="../symbols/pv.Tree.html">pv.Tree</a></li>
-
- <li><a href="../symbols/pv.Vector.html">pv.Vector</a></li>
-
- <li><a href="../symbols/pv.version.html">pv.version</a></li>
-
- <li><a href="../symbols/pv.Wedge.html">pv.Wedge</a></li>
-
- </ul>
- <hr />
- <!-- end publish.classesIndex -->
- </div>
-
- <div id="content">
- <!-- ============================== class title ============================ -->
- <h1 class="classTitle">
-
- Class pv.Tree
- </h1>
- <!-- ============================== class summary ========================== -->
- <p class="description">
-
-
- Represents a tree operator for the specified array. The tree operator
- allows a hierarchical map to be constructed from an array; it is similar to
- the <a href="../symbols/pv.Nest.html">pv.Nest</a> operator, except the hierarchy is derived dynamically
- from the array elements.
- <p>For example, given an array of size information for ActionScript classes:
- <pre>{ name: "flare.flex.FlareVis", size: 4116 },
- { name: "flare.physics.DragForce", size: 1082 },
- { name: "flare.physics.GravityForce", size: 1336 }, ...</pre>
- To facilitate visualization, it may be useful to nest the elements by their
- package hierarchy:
- <pre>var tree = pv.tree(classes)
- .keys(function(d) d.name.split("."))
- .map();</pre>
- The resulting tree is:
- <pre>{ flare: {
- flex: {
- FlareVis: {
- name: "flare.flex.FlareVis",
- size: 4116 } },
- physics: {
- DragForce: {
- name: "flare.physics.DragForce",
- size: 1082 },
- GravityForce: {
- name: "flare.physics.GravityForce",
- size: 1336 } },
- ... } }</pre>
- By specifying a value function,
- <pre>var tree = pv.tree(classes)
- .keys(function(d) d.name.split("."))
- .value(function(d) d.size)
- .map();</pre>
- we can further eliminate redundant data:
- <pre>{ flare: {
- flex: {
- FlareVis: 4116 },
- physics: {
- DragForce: 1082,
- GravityForce: 1336 },
- ... } }</pre>
- For visualizations with large data sets, performance improvements may be seen
- by storing the data in a tree format, and then flattening it into an array at
- runtime with <a href="../symbols/pv.Flatten.html">pv.Flatten</a>.
-
-
- <br /><i>Defined in: </i> <a href="../symbols/src/data_Tree.js.html">Tree.js</a>.
-
- </p>
- <!-- ============================== constructor summary ==================== -->
-
- <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class pv.Tree.">
- <caption>Class Summary</caption>
- <thead>
- <tr>
- <th scope="col">Constructor Attributes</th>
- <th scope="col">Constructor Name and Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="attributes"> </td>
- <td class="nameDescription" >
- <div class="fixedFont">
- <b><a href="../symbols/pv.Tree.html#constructor">pv.Tree</a></b>(array)
- </div>
- <div class="description">Constructs a tree operator for the specified array.</div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <!-- ============================== properties summary ===================== -->
-
- <!-- ============================== methods summary ======================== -->
-
-
-
- <table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class pv.Tree.">
- <caption>Method Summary</caption>
- <thead>
- <tr>
- <th scope="col">Method Attributes</th>
- <th scope="col">Method Name and Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
- <td class="attributes"> </td>
- <td class="nameDescription">
- <div class="fixedFont"><b><a href="../symbols/pv.Tree.html#keys">keys</a></b>(k)
- </div>
- <div class="description">Assigns a <i>keys</i> function to this operator; required.</div>
- </td>
- </tr>
-
- <tr>
- <td class="attributes"> </td>
- <td class="nameDescription">
- <div class="fixedFont"><b><a href="../symbols/pv.Tree.html#map">map</a></b>()
- </div>
- <div class="description">Returns a hierarchical map of values.</div>
- </td>
- </tr>
-
- <tr>
- <td class="attributes"> </td>
- <td class="nameDescription">
- <div class="fixedFont"><b><a href="../symbols/pv.Tree.html#value">value</a></b>(k)
- </div>
- <div class="description">Assigns a <i>value</i> function to this operator; optional.</div>
- </td>
- </tr>
-
- </tbody>
- </table>
-
-
-
-
- <!-- ============================== events summary ======================== -->
-
- <!-- ============================== constructor details ==================== -->
-
- <div class="details"><a name="constructor"> </a>
- <div class="sectionTitle">
- Class Detail
- </div>
-
- <div class="fixedFont">
- <b>pv.Tree</b>(array)
- </div>
-
- <div class="description">
- Constructs a tree operator for the specified array. This constructor should
- not be invoked directly; use <a href="../symbols/pv.html#.tree">pv.tree</a> instead.
-
- </div>
-
-
-
-
-
- <dl class="detailList">
- <dt class="heading">Parameters:</dt>
-
- <dt>
- <span class="light fixedFont">{array}</span> <b>array</b>
-
- </dt>
- <dd>an array from which to construct a tree.</dd>
-
- </dl>
-
-
-
-
-
-
-
- </div>
-
- <!-- ============================== field details ========================== -->
-
- <!-- ============================== method details ========================= -->
-
- <div class="sectionTitle">
- Method Detail
- </div>
-
- <a name="keys"> </a>
- <div class="fixedFont">
-
- <span class="light">{<a href="../symbols/pv.Tree.html">pv.Tree</a>}</span>
- <b>keys</b>(k)
-
- </div>
- <div class="description">
- Assigns a <i>keys</i> function to this operator; required. The keys function
- returns an array of <tt>string</tt>s for each element in the associated
- array; these keys determine how the elements are nested in the tree. The
- returned keys should be unique for each element in the array; otherwise, the
- behavior of this operator is undefined.
-
-
- </div>
-
-
-
-
- <dl class="detailList">
- <dt class="heading">Parameters:</dt>
-
- <dt>
- <span class="light fixedFont">{function}</span> <b>k</b>
-
- </dt>
- <dd>the keys function.</dd>
-
- </dl>
-
-
-
-
-
- <dl class="detailList">
- <dt class="heading">Returns:</dt>
-
- <dd><span class="light fixedFont">{<a href="../symbols/pv.Tree.html">pv.Tree</a>}</span> this.</dd>
-
- </dl>
-
-
-
- <hr />
-
- <a name="map"> </a>
- <div class="fixedFont">
-
-
- <b>map</b>()
-
- </div>
- <div class="description">
- Returns a hierarchical map of values. The hierarchy is determined by the keys
- function; the values in the map are determined by the value function.
-
-
- </div>
-
-
-
-
-
-
-
-
- <dl class="detailList">
- <dt class="heading">Returns:</dt>
-
- <dd>a hierarchical map of values.</dd>
-
- </dl>
-
-
-
- <hr />
-
- <a name="value"> </a>
- <div class="fixedFont">
-
- <span class="light">{<a href="../symbols/pv.Tree.html">pv.Tree</a>}</span>
- <b>value</b>(k)
-
- </div>
- <div class="description">
- Assigns a <i>value</i> function to this operator; optional. The value
- function specifies an optional transformation of the element in the array
- before it is inserted into the map. If no value function is specified, it is
- equivalent to using the identity function.
-
-
- </div>
-
-
-
-
- <dl class="detailList">
- <dt class="heading">Parameters:</dt>
-
- <dt>
- <span class="light fixedFont">{function}</span> <b>k</b>
-
- </dt>
- <dd>the value function.</dd>
-
- </dl>
-
-
-
-
-
- <dl class="detailList">
- <dt class="heading">Returns:</dt>
-
- <dd><span class="light fixedFont">{<a href="../symbols/pv.Tree.html">pv.Tree</a>}</span> this.</dd>
-
- </dl>
-
-
-
-
-
-
-
- <!-- ============================== event details ========================= -->
-
-
- <hr />
- </div>
-
- <!-- ============================== footer ================================= -->
- <div class="fineprint" style="clear:both">
-
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.0 on Tue Oct 06 2009 09:59:02 GMT-0700 (PDT)
- </div>
- </body>
- </html>
|