pv.Scale.log.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <meta name="generator" content="JsDoc Toolkit" />
  7. <title>JsDoc Reference - pv.Scale.log</title>
  8. <style type="text/css">
  9. /* default.css */
  10. body
  11. {
  12. font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
  13. width: 800px;
  14. }
  15. .header
  16. {
  17. clear: both;
  18. background-color: #ccc;
  19. padding: 8px;
  20. }
  21. h1
  22. {
  23. font-size: 150%;
  24. font-weight: bold;
  25. padding: 0;
  26. margin: 1em 0 0 .3em;
  27. }
  28. hr
  29. {
  30. border: none 0;
  31. border-top: 1px solid #7F8FB1;
  32. height: 1px;
  33. }
  34. pre.code
  35. {
  36. display: block;
  37. padding: 8px;
  38. border: 1px dashed #ccc;
  39. }
  40. #index
  41. {
  42. margin-top: 24px;
  43. float: left;
  44. width: 160px;
  45. position: absolute;
  46. left: 8px;
  47. background-color: #F3F3F3;
  48. padding: 8px;
  49. }
  50. #content
  51. {
  52. margin-left: 190px;
  53. width: 600px;
  54. }
  55. .classList
  56. {
  57. list-style-type: none;
  58. padding: 0;
  59. margin: 0 0 0 8px;
  60. font-family: arial, sans-serif;
  61. font-size: 1em;
  62. overflow: auto;
  63. }
  64. .classList li
  65. {
  66. padding: 0;
  67. margin: 0 0 8px 0;
  68. }
  69. .summaryTable { width: 100%; }
  70. h1.classTitle
  71. {
  72. font-size:170%;
  73. line-height:130%;
  74. }
  75. h2 { font-size: 110%; }
  76. caption, div.sectionTitle
  77. {
  78. background-color: #7F8FB1;
  79. color: #fff;
  80. font-size:130%;
  81. text-align: left;
  82. padding: 2px 6px 2px 6px;
  83. border: 1px #7F8FB1 solid;
  84. }
  85. div.sectionTitle { margin-bottom: 8px; }
  86. .summaryTable thead { display: none; }
  87. .summaryTable td
  88. {
  89. vertical-align: top;
  90. padding: 4px;
  91. border-bottom: 1px #7F8FB1 solid;
  92. border-right: 1px #7F8FB1 solid;
  93. }
  94. /*col#summaryAttributes {}*/
  95. .summaryTable td.attributes
  96. {
  97. border-left: 1px #7F8FB1 solid;
  98. width: 140px;
  99. text-align: right;
  100. }
  101. td.attributes, .fixedFont
  102. {
  103. line-height: 15px;
  104. color: #002EBE;
  105. font-family: "Courier New",Courier,monospace;
  106. font-size: 13px;
  107. }
  108. .summaryTable td.nameDescription
  109. {
  110. text-align: left;
  111. font-size: 13px;
  112. line-height: 15px;
  113. }
  114. .summaryTable td.nameDescription, .description
  115. {
  116. line-height: 15px;
  117. padding: 4px;
  118. padding-left: 4px;
  119. }
  120. pre
  121. {
  122. border-left: solid 10px #ddd;
  123. padding-left: 1.5em;
  124. }
  125. .summaryTable { margin-bottom: 8px; }
  126. ul.inheritsList
  127. {
  128. list-style: square;
  129. margin-left: 20px;
  130. padding-left: 0;
  131. }
  132. .detailList {
  133. margin-left: 20px;
  134. line-height: 15px;
  135. }
  136. .detailList dt { margin-left: 20px; }
  137. .detailList .heading
  138. {
  139. font-weight: bold;
  140. padding-bottom: 6px;
  141. margin-left: 0;
  142. }
  143. .light, td.attributes, .light a:link, .light a:visited
  144. {
  145. color: #777;
  146. font-style: italic;
  147. }
  148. .fineprint
  149. {
  150. text-align: right;
  151. font-size: 10px;
  152. }
  153. </style>
  154. </head>
  155. <body>
  156. <!-- ============================== header ================================= -->
  157. <!-- begin static/header.html -->
  158. <div id="header">
  159. </div>
  160. <!-- end static/header.html -->
  161. <!-- ============================== classes index ============================ -->
  162. <div id="index">
  163. <!-- begin publish.classesIndex -->
  164. <div align="center"><a href="../index.html">Class Index</a>
  165. | <a href="../files.html">File Index</a></div>
  166. <hr />
  167. <h2>Classes</h2>
  168. <ul class="classList">
  169. <li><i><a href="../symbols/_global_.html">_global_</a></i></li>
  170. <li><a href="../symbols/Array.html">Array</a></li>
  171. <li><a href="../symbols/Date.html">Date</a></li>
  172. <li><a href="../symbols/pv.html">pv</a></li>
  173. <li><a href="../symbols/pv.Anchor.html">pv.Anchor</a></li>
  174. <li><a href="../symbols/pv.Area.html">pv.Area</a></li>
  175. <li><a href="../symbols/pv.Bar.html">pv.Bar</a></li>
  176. <li><a href="../symbols/pv.Color.html">pv.Color</a></li>
  177. <li><a href="../symbols/pv.Color.Hsl.html">pv.Color.Hsl</a></li>
  178. <li><a href="../symbols/pv.Color.Rgb.html">pv.Color.Rgb</a></li>
  179. <li><a href="../symbols/pv.Colors.html">pv.Colors</a></li>
  180. <li><a href="../symbols/pv.Dot.html">pv.Dot</a></li>
  181. <li><a href="../symbols/pv.Flatten.html">pv.Flatten</a></li>
  182. <li><a href="../symbols/pv.Image.html">pv.Image</a></li>
  183. <li><a href="../symbols/pv.Label.html">pv.Label</a></li>
  184. <li><a href="../symbols/pv.Layout.grid.html">pv.Layout.grid</a></li>
  185. <li><a href="../symbols/pv.Layout.icicle.html">pv.Layout.icicle</a></li>
  186. <li><a href="../symbols/pv.Layout.stack.html">pv.Layout.stack</a></li>
  187. <li><a href="../symbols/pv.Layout.sunburst.html">pv.Layout.sunburst</a></li>
  188. <li><a href="../symbols/pv.Layout.treemap.html">pv.Layout.treemap</a></li>
  189. <li><a href="../symbols/pv.Line.html">pv.Line</a></li>
  190. <li><a href="../symbols/pv.Mark.html">pv.Mark</a></li>
  191. <li><a href="../symbols/pv.Nest.html">pv.Nest</a></li>
  192. <li><a href="../symbols/pv.ns.html">pv.ns</a></li>
  193. <li><a href="../symbols/pv.Panel.html">pv.Panel</a></li>
  194. <li><a href="../symbols/pv.Rule.html">pv.Rule</a></li>
  195. <li><a href="../symbols/pv.Scale.linear.html">pv.Scale.linear</a></li>
  196. <li><a href="../symbols/pv.Scale.log.html">pv.Scale.log</a></li>
  197. <li><a href="../symbols/pv.Scale.ordinal.html">pv.Scale.ordinal</a></li>
  198. <li><a href="../symbols/pv.Tree.html">pv.Tree</a></li>
  199. <li><a href="../symbols/pv.Vector.html">pv.Vector</a></li>
  200. <li><a href="../symbols/pv.version.html">pv.version</a></li>
  201. <li><a href="../symbols/pv.Wedge.html">pv.Wedge</a></li>
  202. </ul>
  203. <hr />
  204. <!-- end publish.classesIndex -->
  205. </div>
  206. <div id="content">
  207. <!-- ============================== class title ============================ -->
  208. <h1 class="classTitle">
  209. Class pv.Scale.log
  210. </h1>
  211. <!-- ============================== class summary ========================== -->
  212. <p class="description">
  213. Represents a log scale. <style
  214. type="text/css">sub{line-height:0}</style> <img src="../log.png"
  215. width="190" height="175" align="right"> Most commonly, a log scale represents
  216. a 1-dimensional log transformation from a numeric domain of input data
  217. [<i>d<sub>0</sub></i>, <i>d<sub>1</sub></i>] to a numeric range of pixels
  218. [<i>r<sub>0</sub></i>, <i>r<sub>1</sub></i>]. The equation for such a scale
  219. is:
  220. <blockquote><i>f(x) = (log(x) - log(d<sub>0</sub>)) / (log(d<sub>1</sub>) -
  221. log(d<sub>0</sub>)) * (r<sub>1</sub> - r<sub>0</sub>) +
  222. r<sub>0</sub></i></blockquote>
  223. where <i>log(x)</i> represents the zero-symmetric logarthim of <i>x</i> using
  224. the scale's associated base (default: 10, see <a href="../symbols/pv.html#.logSymmetric">pv.logSymmetric</a>). For
  225. example, a log scale from the domain [1, 100] to range [0, 640]:
  226. <blockquote><i>f(x) = (log(x) - log(1)) / (log(100) - log(1)) * (640 - 0) + 0</i><br>
  227. <i>f(x) = log(x) / 2 * 640</i><br>
  228. <i>f(x) = log(x) * 320</i><br>
  229. </blockquote>
  230. Thus, saying
  231. <pre>.height(function(d) Math.log(d) * 138.974)</pre>
  232. is equivalent to
  233. <pre>.height(pv.Scale.log(1, 100).range(0, 640))</pre>
  234. As you can see, scales do not always make code smaller, but they should make
  235. code more explicit and easier to maintain. In addition to readability, scales
  236. offer several useful features:
  237. <p>1. The range can be expressed in colors, rather than pixels. Changing the
  238. example above to
  239. <pre>.fillStyle(pv.Scale.log(1, 100).range("red", "green"))</pre>
  240. will cause it to fill the marks "red" on an input value of 1, "green" on an
  241. input value of 100, and some color in-between for intermediate values.
  242. <p>2. The domain and range can be subdivided for a "poly-log"
  243. transformation. For example, you may want a diverging color scale that is
  244. increasingly red for small values, and increasingly green for large values:
  245. <pre>.fillStyle(pv.Scale.log(1, 10, 100).range("red", "white", "green"))</pre>
  246. The domain can be specified as a series of <i>n</i> monotonically-increasing
  247. values; the range must also be specified as <i>n</i> values, resulting in
  248. <i>n - 1</i> contiguous log scales.
  249. <p>3. Log scales can be inverted for interaction. The <a href="#invert">#invert</a> method
  250. takes a value in the output range, and returns the corresponding value in the
  251. input domain. This is frequently used to convert the mouse location (see
  252. <a href="../symbols/pv.Mark.html#mouse">pv.Mark#mouse</a>) to a value in the input domain. Note that inversion is
  253. only supported for numeric ranges, and not colors.
  254. <p>4. A scale can be queried for reasonable "tick" values. The <a href="#ticks">#ticks</a>
  255. method provides a convenient way to get a series of evenly-spaced rounded
  256. values in the input domain. Frequently these are used in conjunction with
  257. <a href="../symbols/pv.Rule.html">pv.Rule</a> to display tick marks or grid lines.
  258. <p>5. A scale can be "niced" to extend the domain to suitable rounded
  259. numbers. If the minimum and maximum of the domain are messy because they are
  260. derived from data, you can use <a href="#nice">#nice</a> to round these values down and
  261. up to even numbers.
  262. <br /><i>Defined in: </i> <a href="../symbols/src/data_LogScale.js.html">LogScale.js</a>.
  263. </p>
  264. <!-- ============================== constructor summary ==================== -->
  265. <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class pv.Scale.log.">
  266. <caption>Class Summary</caption>
  267. <thead>
  268. <tr>
  269. <th scope="col">Constructor Attributes</th>
  270. <th scope="col">Constructor Name and Description</th>
  271. </tr>
  272. </thead>
  273. <tbody>
  274. <tr>
  275. <td class="attributes">&nbsp;</td>
  276. <td class="nameDescription" >
  277. <div class="fixedFont">
  278. <b><a href="../symbols/pv.Scale.log.html#constructor">pv.Scale.log</a></b>()
  279. </div>
  280. <div class="description">Returns a log scale for the specified domain.</div>
  281. </td>
  282. </tr>
  283. </tbody>
  284. </table>
  285. <!-- ============================== properties summary ===================== -->
  286. <!-- ============================== methods summary ======================== -->
  287. <table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class pv.Scale.log.">
  288. <caption>Method Summary</caption>
  289. <thead>
  290. <tr>
  291. <th scope="col">Method Attributes</th>
  292. <th scope="col">Method Name and Description</th>
  293. </tr>
  294. </thead>
  295. <tbody>
  296. <tr>
  297. <td class="attributes">&nbsp;</td>
  298. <td class="nameDescription">
  299. <div class="fixedFont"><b><a href="../symbols/pv.Scale.log.html#base">base</a></b>(v)
  300. </div>
  301. <div class="description">Sets or gets the logarithm base.</div>
  302. </td>
  303. </tr>
  304. <tr>
  305. <td class="attributes">&nbsp;</td>
  306. <td class="nameDescription">
  307. <div class="fixedFont"><b><a href="../symbols/pv.Scale.log.html#by">by</a></b>(f)
  308. </div>
  309. <div class="description">Returns a view of this scale by the specified accessor function <tt>f</tt>.</div>
  310. </td>
  311. </tr>
  312. <tr>
  313. <td class="attributes">&nbsp;</td>
  314. <td class="nameDescription">
  315. <div class="fixedFont"><b><a href="../symbols/pv.Scale.log.html#domain">domain</a></b>()
  316. </div>
  317. <div class="description">Sets or gets the input domain.</div>
  318. </td>
  319. </tr>
  320. <tr>
  321. <td class="attributes">&nbsp;</td>
  322. <td class="nameDescription">
  323. <div class="fixedFont"><b><a href="../symbols/pv.Scale.log.html#invert">invert</a></b>()
  324. </div>
  325. <div class="description">Sets or gets the output range.</div>
  326. </td>
  327. </tr>
  328. <tr>
  329. <td class="attributes">&nbsp;</td>
  330. <td class="nameDescription">
  331. <div class="fixedFont"><b><a href="../symbols/pv.Scale.log.html#nice">nice</a></b>()
  332. </div>
  333. <div class="description">"Nices" this scale, extending the bounds of the input domain to
  334. evenly-rounded values.</div>
  335. </td>
  336. </tr>
  337. <tr>
  338. <td class="attributes">&nbsp;</td>
  339. <td class="nameDescription">
  340. <div class="fixedFont"><b><a href="../symbols/pv.Scale.log.html#range">range</a></b>()
  341. </div>
  342. <div class="description"></div>
  343. </td>
  344. </tr>
  345. <tr>
  346. <td class="attributes">&nbsp;</td>
  347. <td class="nameDescription">
  348. <div class="fixedFont"><b><a href="../symbols/pv.Scale.log.html#tickFormat">tickFormat</a></b>(t)
  349. </div>
  350. <div class="description">Formats the specified tick value using the appropriate precision, assuming
  351. base 10.</div>
  352. </td>
  353. </tr>
  354. <tr>
  355. <td class="attributes">&nbsp;</td>
  356. <td class="nameDescription">
  357. <div class="fixedFont"><b><a href="../symbols/pv.Scale.log.html#ticks">ticks</a></b>()
  358. </div>
  359. <div class="description">Returns an array of evenly-spaced, suitably-rounded values in the input
  360. domain.</div>
  361. </td>
  362. </tr>
  363. </tbody>
  364. </table>
  365. <!-- ============================== events summary ======================== -->
  366. <!-- ============================== constructor details ==================== -->
  367. <div class="details"><a name="constructor"> </a>
  368. <div class="sectionTitle">
  369. Class Detail
  370. </div>
  371. <div class="fixedFont">
  372. <b>pv.Scale.log</b>()
  373. </div>
  374. <div class="description">
  375. Returns a log scale for the specified domain. The arguments to this
  376. constructor are optional, and equivalent to calling <a href="#domain">#domain</a>.
  377. </div>
  378. <dl class="detailList">
  379. <dt class="heading">Parameters:</dt>
  380. <dt>
  381. <span class="light fixedFont">{number...}</span> <b>domain...</b>
  382. </dt>
  383. <dd>domain values.</dd>
  384. </dl>
  385. <dl class="detailList">
  386. <dt class="heading">Returns:</dt>
  387. <dd><span class="light fixedFont">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span> a log scale.</dd>
  388. </dl>
  389. </div>
  390. <!-- ============================== field details ========================== -->
  391. <!-- ============================== method details ========================= -->
  392. <div class="sectionTitle">
  393. Method Detail
  394. </div>
  395. <a name="base"> </a>
  396. <div class="fixedFont">
  397. <span class="light">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span>
  398. <b>base</b>(v)
  399. </div>
  400. <div class="description">
  401. Sets or gets the logarithm base. Defaults to 10.
  402. </div>
  403. <dl class="detailList">
  404. <dt class="heading">Parameters:</dt>
  405. <dt>
  406. <span class="light fixedFont">{number}</span> <b>v</b>
  407. <i>Optional</i>
  408. </dt>
  409. <dd>the new base.</dd>
  410. </dl>
  411. <dl class="detailList">
  412. <dt class="heading">Returns:</dt>
  413. <dd><span class="light fixedFont">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span> <tt>this</tt>, or the current base.</dd>
  414. </dl>
  415. <hr />
  416. <a name="by"> </a>
  417. <div class="fixedFont">
  418. <span class="light">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span>
  419. <b>by</b>(f)
  420. </div>
  421. <div class="description">
  422. Returns a view of this scale by the specified accessor function <tt>f</tt>.
  423. Given a scale <tt>y</tt>, <tt>y.by(function(d) d.foo)</tt> is equivalent to
  424. <tt>function(d) y(d.foo)</tt>.
  425. <p>This method is provided for convenience, such that scales can be
  426. succinctly defined inline. For example, given an array of data elements
  427. that have a <tt>score</tt> attribute with the domain [0, 1], the height
  428. property could be specified as:
  429. <pre>.height(pv.Scale.log().range(0, 480).by(function(d) d.score))</pre>
  430. This is equivalent to:
  431. <pre>.height(function(d) d.score * 480)</pre>
  432. This method should be used judiciously; it is typically more clear to
  433. invoke the scale directly, passing in the value to be scaled.
  434. </div>
  435. <dl class="detailList">
  436. <dt class="heading">Parameters:</dt>
  437. <dt>
  438. <span class="light fixedFont">{function}</span> <b>f</b>
  439. </dt>
  440. <dd>an accessor function.</dd>
  441. </dl>
  442. <dl class="detailList">
  443. <dt class="heading">Returns:</dt>
  444. <dd><span class="light fixedFont">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span> a view of this scale by the specified accessor
  445. function.</dd>
  446. </dl>
  447. <hr />
  448. <a name="domain"> </a>
  449. <div class="fixedFont">
  450. <span class="light">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span>
  451. <b>domain</b>()
  452. </div>
  453. <div class="description">
  454. Sets or gets the input domain. This method can be invoked several ways:
  455. <p>1. <tt>domain(min, ..., max)</tt>
  456. <p>Specifying the domain as a series of numbers is the most explicit and
  457. recommended approach. Most commonly, two numbers are specified: the minimum
  458. and maximum value. However, for a diverging scale, or other subdivided
  459. poly-log scales, multiple values can be specified. Values can be derived
  460. from data using <a href="../symbols/pv.html#.min">pv.min</a> and <a href="../symbols/pv.html#.max">pv.max</a>. For example:
  461. <pre>.domain(1, pv.max(array))</pre>
  462. An alternative method for deriving minimum and maximum values from data
  463. follows.
  464. <p>2. <tt>domain(array, minf, maxf)</tt>
  465. <p>When both the minimum and maximum value are derived from data, the
  466. arguments to the <tt>domain</tt> method can be specified as the array of
  467. data, followed by zero, one or two accessor functions. For example, if the
  468. array of data is just an array of numbers:
  469. <pre>.domain(array)</pre>
  470. On the other hand, if the array elements are objects representing stock
  471. values per day, and the domain should consider the stock's daily low and
  472. daily high:
  473. <pre>.domain(array, function(d) d.low, function(d) d.high)</pre>
  474. The first method of setting the domain is preferred because it is more
  475. explicit; setting the domain using this second method should be used only
  476. if brevity is required.
  477. <p>3. <tt>domain()</tt>
  478. <p>Invoking the <tt>domain</tt> method with no arguments returns the
  479. current domain as an array of numbers.
  480. </div>
  481. <dl class="detailList">
  482. <dt class="heading">Parameters:</dt>
  483. <dt>
  484. <span class="light fixedFont">{number...}</span> <b>domain...</b>
  485. </dt>
  486. <dd>domain values.</dd>
  487. </dl>
  488. <dl class="detailList">
  489. <dt class="heading">Returns:</dt>
  490. <dd><span class="light fixedFont">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span> <tt>this</tt>, or the current domain.</dd>
  491. </dl>
  492. <hr />
  493. <a name="invert"> </a>
  494. <div class="fixedFont">
  495. <span class="light">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span>
  496. <b>invert</b>()
  497. </div>
  498. <div class="description">
  499. Sets or gets the output range. This method can be invoked several ways:
  500. <p>1. <tt>range(min, ..., max)</tt>
  501. <p>The range may be specified as a series of numbers or colors. Most
  502. commonly, two numbers are specified: the minimum and maximum pixel values.
  503. For a color scale, values may be specified as <a href="../symbols/pv.Color.html">pv.Color</a>s or
  504. equivalent strings. For a diverging scale, or other subdivided poly-log
  505. scales, multiple values can be specified. For example:
  506. <pre>.range("red", "white", "green")</pre>
  507. <p>Currently, only numbers and colors are supported as range values. The
  508. number of range values must exactly match the number of domain values, or
  509. the behavior of the scale is undefined.
  510. <p>2. <tt>range()</tt>
  511. <p>Invoking the <tt>range</tt> method with no arguments returns the current
  512. range as an array of numbers or colors.
  513. </div>
  514. <dl class="detailList">
  515. <dt class="heading">Parameters:</dt>
  516. <dt>
  517. <span class="light fixedFont">{...}</span> <b>range...</b>
  518. </dt>
  519. <dd>range values.</dd>
  520. </dl>
  521. <dl class="detailList">
  522. <dt class="heading">Returns:</dt>
  523. <dd><span class="light fixedFont">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span> <tt>this</tt>, or the current range.</dd>
  524. </dl>
  525. <hr />
  526. <a name="nice"> </a>
  527. <div class="fixedFont">
  528. <span class="light">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span>
  529. <b>nice</b>()
  530. </div>
  531. <div class="description">
  532. "Nices" this scale, extending the bounds of the input domain to
  533. evenly-rounded values. This method uses <a href="../symbols/pv.html#.logFloor">pv.logFloor</a> and {@link
  534. pv.logCeil}. Nicing is useful if the domain is computed dynamically from
  535. data, and may be irregular. For example, given a domain of
  536. [0.20147987687960267, 0.996679553296417], a call to <tt>nice()</tt> might
  537. extend the domain to [0.1, 1].
  538. <p>This method must be invoked each time after setting the domain (and
  539. base).
  540. </div>
  541. <dl class="detailList">
  542. <dt class="heading">Returns:</dt>
  543. <dd><span class="light fixedFont">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span> <tt>this</tt>.</dd>
  544. </dl>
  545. <hr />
  546. <a name="range"> </a>
  547. <div class="fixedFont">
  548. <span class="light">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span>
  549. <b>range</b>()
  550. </div>
  551. <div class="description">
  552. </div>
  553. <dl class="detailList">
  554. <dt class="heading">Parameters:</dt>
  555. <dt>
  556. <span class="light fixedFont">{...}</span> <b>range...</b>
  557. </dt>
  558. <dd>range values.</dd>
  559. </dl>
  560. <dl class="detailList">
  561. <dt class="heading">Returns:</dt>
  562. <dd><span class="light fixedFont">{<a href="../symbols/pv.Scale.log.html">pv.Scale.log</a>}</span> <tt>this</tt>.</dd>
  563. </dl>
  564. <hr />
  565. <a name="tickFormat"> </a>
  566. <div class="fixedFont">
  567. <span class="light">{string}</span>
  568. <b>tickFormat</b>(t)
  569. </div>
  570. <div class="description">
  571. Formats the specified tick value using the appropriate precision, assuming
  572. base 10.
  573. </div>
  574. <dl class="detailList">
  575. <dt class="heading">Parameters:</dt>
  576. <dt>
  577. <span class="light fixedFont">{number}</span> <b>t</b>
  578. </dt>
  579. <dd>a tick value.</dd>
  580. </dl>
  581. <dl class="detailList">
  582. <dt class="heading">Returns:</dt>
  583. <dd><span class="light fixedFont">{string}</span> a formatted tick value.</dd>
  584. </dl>
  585. <hr />
  586. <a name="ticks"> </a>
  587. <div class="fixedFont">
  588. <span class="light">{number[]}</span>
  589. <b>ticks</b>()
  590. </div>
  591. <div class="description">
  592. Returns an array of evenly-spaced, suitably-rounded values in the input
  593. domain. These values are frequently used in conjunction with {@link
  594. pv.Rule} to display tick marks or grid lines.
  595. </div>
  596. <dl class="detailList">
  597. <dt class="heading">Returns:</dt>
  598. <dd><span class="light fixedFont">{number[]}</span> an array input domain values to use as ticks.</dd>
  599. </dl>
  600. <!-- ============================== event details ========================= -->
  601. <hr />
  602. </div>
  603. <!-- ============================== footer ================================= -->
  604. <div class="fineprint" style="clear:both">
  605. 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)
  606. </div>
  607. </body>
  608. </html>