Struct vega_lite::Scale

source ·
pub struct Scale {
Show 15 fields pub base: Option<f64>, pub clamp: Option<bool>, pub domain: Option<DomainUnion>, pub exponent: Option<f64>, pub interpolate: Option<InterpolateUnion>, pub nice: Option<NiceUnion>, pub padding: Option<f64>, pub padding_inner: Option<f64>, pub padding_outer: Option<f64>, pub range: Option<ScaleRange>, pub range_step: Option<f64>, pub round: Option<bool>, pub scheme: Option<Scheme>, pub scale_type: Option<ScaleType>, pub zero: Option<bool>,
}

Fields§

§base: Option<f64>

The logarithm base of the log scale (default 10).

§clamp: Option<bool>

If true, values that exceed the data domain are clamped to either the minimum or maximum range value

Default value: derived from the scale config’s clamp (true by default).

§domain: Option<DomainUnion>

Customized domain values.

For quantitative fields, domain can take the form of a two-element array with minimum and maximum values. Piecewise scales can be created by providing a domain with more than two entries. If the input field is aggregated, domain can also be a string value "unaggregated", indicating that the domain should include the raw data values prior to the aggregation.

For temporal fields, domain can be a two-element array minimum and maximum values, in the form of either timestamps or the DateTime definition objects.

For ordinal and nominal fields, domain can be an array that lists valid input values.

The selection property can be used to interactively determine the scale domain.

§exponent: Option<f64>

The exponent of the pow scale.

§interpolate: Option<InterpolateUnion>

The interpolation method for range values. By default, a general interpolator for numbers, dates, strings and colors (in RGB space) is used. For color ranges, this property allows interpolation in alternative color spaces. Legal values include rgb, hsl, hsl-long, lab, hcl, hcl-long, cubehelix and cubehelix-long (‘-long’ variants use longer paths in polar coordinate spaces). If object-valued, this property accepts an object with a string-valued type property and an optional numeric gamma property applicable to rgb and cubehelix interpolators. For more, see the d3-interpolate documentation.

Note: Sequential scales do not support interpolate as they have a fixed interpolator. Since Vega-Lite uses sequential scales for quantitative fields by default, you have to set the scale type to other quantitative scale type such as "linear" to customize interpolate.

§nice: Option<NiceUnion>

Extending the domain so that it starts and ends on nice round values. This method typically modifies the scale’s domain, and may only extend the bounds to the nearest round value. Nicing is useful if the domain is computed from data and may be irregular. For example, for a domain of [0.201479…, 0.996679…], a nice domain might be [0.2, 1.0].

For quantitative scales such as linear, nice can be either a boolean flag or a number. If nice is a number, it will represent a desired tick count. This allows greater control over the step size used to extend the bounds, guaranteeing that the returned ticks will exactly cover the domain.

For temporal fields with time and utc scales, the nice value can be a string indicating the desired time interval. Legal values are "millisecond", "second", "minute", "hour", "day", "week", "month", and "year". Alternatively, time and utc scales can accept an object-valued interval specifier of the form {"interval": "month", "step": 3}, which includes a desired number of interval steps. Here, the domain would snap to quarter (Jan, Apr, Jul, Oct) boundaries.

Default value: true for unbinned quantitative fields; false otherwise.

§padding: Option<f64>

For continuous scales, expands the scale domain to accommodate the specified number of pixels on each of the scale range. The scale range must represent pixels for this parameter to function as intended. Padding adjustment is performed prior to all other adjustments, including the effects of the zero, nice, domainMin, and domainMax properties.

For band scales, shortcut for setting paddingInner and paddingOuter to the same value.

For point scales, alias for paddingOuter.

Default value: For continuous scales, derived from the scale config’s continuousPadding. For band and point scales, see paddingInner and paddingOuter.

§padding_inner: Option<f64>

The inner padding (spacing) within each band step of band scales, as a fraction of the step size. This value must lie in the range [0,1].

For point scale, this property is invalid as point scales do not have internal band widths (only step sizes between bands).

Default value: derived from the scale config’s bandPaddingInner.

§padding_outer: Option<f64>

The outer padding (spacing) at the ends of the range of band and point scales, as a fraction of the step size. This value must lie in the range [0,1].

Default value: derived from the scale config’s bandPaddingOuter for band scales and pointPadding for point scales.

§range: Option<ScaleRange>

The range of the scale. One of:

Notes:

  1. For sequential, ordinal, and discretizing color scales, you can also specify a color scheme instead of range.

  2. Any directly specified range for x and y channels will be ignored. Range can be customized via the view’s corresponding size (width and height) or via range steps and paddings properties for band and point scales.

§range_step: Option<f64>

The distance between the starts of adjacent bands or points in band and point scales.

If rangeStep is null or if the view contains the scale’s corresponding size (width for x scales and height for y scales), rangeStep will be automatically determined to fit the size of the view.

Default value: derived the scale config’s textXRangeStep (90 by default) for x-scales of text marks and rangeStep (21 by default) for x-scales of other marks and y-scales.

Warning: If rangeStep is null and the cardinality of the scale’s domain is higher than width or height, the rangeStep might become less than one pixel and the mark might not appear correctly.

§round: Option<bool>

If true, rounds numeric output values to integers. This can be helpful for snapping to the pixel grid.

Default value: false.

§scheme: Option<Scheme>

A string indicating a color scheme name (e.g., "category10" or "viridis") or a scheme parameter object.

Discrete color schemes may be used with discrete or discretizing scales. Continuous color schemes are intended for use with sequential scales.

For the full list of supported schemes, please refer to the Vega Scheme reference.

§scale_type: Option<ScaleType>

The type of scale. Vega-Lite supports the following categories of scale types:

  1. Continuous Scales – mapping continuous domains to continuous output ranges ("linear", "pow", "sqrt", "log", "time", "utc", "sequential").

  2. Discrete Scales – mapping discrete domains to discrete ("ordinal") or continuous ("band" and "point") output ranges.

  3. Discretizing Scales – mapping continuous domains to discrete output ranges ("bin-linear" and "bin-ordinal").

Default value: please see the scale type table.

§zero: Option<bool>

If true, ensures that a zero baseline value is included in the scale domain.

Default value: true for x and y channels if the quantitative field is not binned and no custom domain is provided; false otherwise.

Note: Log, time, and utc scales do not support zero.

Trait Implementations§

Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.