Class pv.Scale.log
				
				
Extends
					pv.Scale.quantitative.
				
			
				Represents a log scale.  Most commonly, a log scale
represents a 1-dimensional log transformation from a numeric domain of input
data [d0, d1] to a numeric range of
pixels [r0, r1]. The equation for such a
scale is:
f(x) = (log(x) - log(d0)) / (log(d1) - log(d0)) * (r1 - r0) + r0where log(x) represents the zero-symmetric logarthim of x using the scale's associated base (default: 10, see pv.logSymmetric). For example, a log scale from the domain [1, 100] to range [0, 640]:
f(x) = (log(x) - log(1)) / (log(100) - log(1)) * (640 - 0) + 0Thus, saying
f(x) = log(x) / 2 * 640
f(x) = log(x) * 320
.height(function(d) Math.log(d) * 138.974)is equivalent to
.height(pv.Scale.log(1, 100).range(0, 640))Note that the scale is itself a function, and thus can be used as a property directly, assuming that the data associated with a mark is a number. While this is convenient for single-use scales, frequently it is desirable to define scales globally:
var y = pv.Scale.log(1, 100).range(0, 640);The y scale can now be equivalently referenced within a property:
.height(function(d) y(d))Alternatively, if the data are not simple numbers, the appropriate value can be passed to the y scale (e.g., d.foo). The #by method similarly allows the data to be mapped to a numeric value before performing the log transformation.
Defined in: LogScale.js.
| Constructor Attributes | Constructor Name and Description | 
|---|---|
| 
							
							 Returns a log scale for the specified domain. 
						 | 
					
| Method Attributes | Method Name and Description | 
|---|---|
| 
								 base(v)
								 
								Sets or gets the logarithm base. 
							 | 
						|
| 
								 nice()
								 
								"Nices" this scale, extending the bounds of the input domain to
evenly-rounded values. 
							 | 
						|
| 
								 tickFormat(t)
								 
								Formats the specified tick value using the appropriate precision, assuming
base 10. 
							 | 
						|
| 
								 ticks()
								 
								Returns an array of evenly-spaced, suitably-rounded values in the input
domain. 
							 | 
						
- Methods borrowed from class pv.Scale.quantitative:
 - by, domain, invert, range
 
					Class Detail
				
				
				
						pv.Scale.log()
				
				
				
					Returns a log scale for the specified domain. The arguments to this
constructor are optional, and equivalent to calling #domain.
The default domain is [1,10] and the default range is [0,1].
					
				
				
				
				
				
					
						- Parameters:
 - {number...} domain...
 - optional domain values.
 
					Method Detail
				
				
					 
					
					
					{pv.Scale.log}
					base(v)
					
					
					
						Sets or gets the logarithm base. Defaults to 10.
						
						
					
					
					
					
						
							- Parameters:
 - {number} v Optional
 - the new base.
 
- Returns:
 - {pv.Scale.log} this, or the current base.
 
					
					{pv.Scale.log}
					nice()
					
					
					
						"Nices" this scale, extending the bounds of the input domain to
evenly-rounded values. This method uses pv.logFloor and
pv.logCeil. Nicing is useful if the domain is computed dynamically
from data, and may be irregular. For example, given a domain of
[0.20147987687960267, 0.996679553296417], a call to nice() might
extend the domain to [0.1, 1].
					
					
					
						
						
						
						
						
							This method must be invoked each time after setting the domain (and base).
- Returns:
 - {pv.Scale.log} this.
 
					
					{string}
					tickFormat(t)
					
					
					
						Formats the specified tick value using the appropriate precision, assuming
base 10.
						
						
					
					
					
					
						
							- Parameters:
 - {number} t
 - a tick value.
 
- Returns:
 - {string} a formatted tick value.
 
					
					{number[]}
					ticks()
					
					
					
						Returns an array of evenly-spaced, suitably-rounded values in the input
domain. These values are frequently used in conjunction with
pv.Rule to display tick marks or grid lines.
						
						
					
					
					
					
						
						
						
						
						
							- Returns:
 - {number[]} an array input domain values to use as ticks.