Awesome
d3plus-axis
Beautiful javascript scales and axes.
Installing
If using npm, npm install d3plus-axis
. Otherwise, you can download the latest release from GitHub or load from a CDN.
import modules from "d3plus-axis";
d3plus-axis can be loaded as a standalone library or bundled as part of D3plus. ES modules, AMD, CommonJS, and vanilla environments are supported. In vanilla, a d3plus
global is exported:
<script src="https://cdn.jsdelivr.net/npm/d3plus-axis@1"></script>
<script>
console.log(d3plus);
</script>
Examples
Live examples can be found on d3plus.org, which includes a collection of example visualizations using d3plus-react. These examples are powered by the d3plus-storybook repo, and PRs are always welcome. :beers:
API Reference
- date - Parses numbers and strings to valid Javascript Date objects.
<a name="Axis"></a>
Axis <>
This is a global class, and extends all of the methods and functionality of <code>BaseClass</code>.
- Axis ⇐ <code>BaseClass</code>
- new Axis()
- .render([callback]) ↩︎
- .align([value]) ↩︎
- .barConfig([value]) ↩︎
- .data([value]) ↩︎
- .domain([value]) ↩︎
- .duration([value]) ↩︎
- .grid([value]) ↩︎
- .gridConfig([value]) ↩︎
- .gridLog([value]) ↩︎
- .gridSize([value]) ↩︎
- .height([value]) ↩︎
- .labels([value]) ↩︎
- .labelOffset([value]) ↩︎
- .labelRotation([value]) ↩︎
- .maxSize(_) ↩︎
- .minSize(_) ↩︎
- .orient([orient]) ↩︎
- .outerBounds()
- .padding([value]) ↩︎
- .paddingInner([value]) ↩︎
- .paddingOuter([value]) ↩︎
- .range([value]) ↩︎
- .rounding([value]) ↩︎
- .roundingInsideMinPrefix([value]) ↩︎
- .roundingInsideMinSuffix([value]) ↩︎
- .roundingInsideMaxPrefix([value]) ↩︎
- .roundingInsideMaxSuffix([value]) ↩︎
- .scale([value]) ↩︎
- .scalePadding([value]) ↩︎
- .select([selector]) ↩︎
- .shape([value]) ↩︎
- .shapeConfig([value]) ↩︎
- .tickFormat([value]) ↩︎
- .ticks([value]) ↩︎
- .tickSize([value]) ↩︎
- .tickSuffix([value]) ↩︎
- .timeLocale([value]) ↩︎
- .title([value]) ↩︎
- .titleConfig([value]) ↩︎
- .width([value]) ↩︎
<a name="new_Axis_new" href="#new_Axis_new">#</a> new Axis()
Creates an SVG scale based on an array of data.
<a name="Axis.render" href="#Axis.render">#</a> Axis.render([callback]) <>
Renders the current Axis to the page. If a callback is specified, it will be called once the legend is done drawing.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.align" href="#Axis.align">#</a> Axis.align([value]) <>
If value is specified, sets the horizontal alignment to the specified value and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.barConfig" href="#Axis.barConfig">#</a> Axis.barConfig([value]) <>
If value is specified, sets the axis line style and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.data" href="#Axis.data">#</a> Axis.data([value]) <>
An array of data points, which helps determine which ticks should be shown and which time resolution should be displayed.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.domain" href="#Axis.domain">#</a> Axis.domain([value]) <>
If value is specified, sets the scale domain of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.duration" href="#Axis.duration">#</a> Axis.duration([value]) <>
If value is specified, sets the transition duration of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.grid" href="#Axis.grid">#</a> Axis.grid([value]) <>
If value is specified, sets the grid values of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.gridConfig" href="#Axis.gridConfig">#</a> Axis.gridConfig([value]) <>
If value is specified, sets the grid config of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.gridLog" href="#Axis.gridLog">#</a> Axis.gridLog([value]) <>
If value is specified, sets the grid behavior of the axis when scale is logarithmic and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.gridSize" href="#Axis.gridSize">#</a> Axis.gridSize([value]) <>
If value is specified, sets the grid size of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.height" href="#Axis.height">#</a> Axis.height([value]) <>
If value is specified, sets the overall height of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.labels" href="#Axis.labels">#</a> Axis.labels([value]) <>
If value is specified, sets the visible tick labels of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.labelOffset" href="#Axis.labelOffset">#</a> Axis.labelOffset([value]) <>
If value is specified, sets whether offsets will be used to position some labels further away from the axis in order to allow space for the text.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.labelRotation" href="#Axis.labelRotation">#</a> Axis.labelRotation([value]) <>
If value is specified, sets whether whether horizontal axis labels are rotated -90 degrees.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.maxSize" href="#Axis.maxSize">#</a> Axis.maxSize(_) <>
If value is specified, sets the maximum size allowed for the space that contains the axis tick labels and title.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.minSize" href="#Axis.minSize">#</a> Axis.minSize(_) <>
If value is specified, sets the minimum size alloted for the space that contains the axis tick labels and title.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.orient" href="#Axis.orient">#</a> Axis.orient([orient]) <>
If orient is specified, sets the orientation of the shape and returns the current class instance. If orient is not specified, returns the current orientation.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.outerBounds" href="#Axis.outerBounds">#</a> Axis.outerBounds() <>
If called after the elements have been drawn to DOM, will returns the outer bounds of the axis content.
This is a static method of <code>Axis</code>.
{"width": 180, "height": 24, "x": 10, "y": 20}
<a name="Axis.padding" href="#Axis.padding">#</a> Axis.padding([value]) <>
If value is specified, sets the padding between each tick label to the specified number and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.paddingInner" href="#Axis.paddingInner">#</a> Axis.paddingInner([value]) <>
If value is specified, sets the inner padding of band scale to the specified number and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.paddingOuter" href="#Axis.paddingOuter">#</a> Axis.paddingOuter([value]) <>
If value is specified, sets the outer padding of band scales to the specified number and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.range" href="#Axis.range">#</a> Axis.range([value]) <>
If value is specified, sets the scale range (in pixels) of the axis and returns the current class instance. The given array must have 2 values, but one may be undefined
to allow the default behavior for that value.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.rounding" href="#Axis.rounding">#</a> Axis.rounding([value]) <>
Sets the rounding method, so that more evenly spaced ticks appear at the extents of the scale. Can be set to "none" (default), "outside", or "inside".
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.roundingInsideMinPrefix" href="#Axis.roundingInsideMinPrefix">#</a> Axis.roundingInsideMinPrefix([value]) <>
Sets the prefix used for the minimum value of "inside" rounding scales.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.roundingInsideMinSuffix" href="#Axis.roundingInsideMinSuffix">#</a> Axis.roundingInsideMinSuffix([value]) <>
Sets the suffix used for the minimum value of "inside" rounding scales.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.roundingInsideMaxPrefix" href="#Axis.roundingInsideMaxPrefix">#</a> Axis.roundingInsideMaxPrefix([value]) <>
Sets the prefix used for the maximum value of "inside" rounding scales.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.roundingInsideMaxSuffix" href="#Axis.roundingInsideMaxSuffix">#</a> Axis.roundingInsideMaxSuffix([value]) <>
Sets the suffix used for the maximum value of "inside" rounding scales.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.scale" href="#Axis.scale">#</a> Axis.scale([value]) <>
If value is specified, sets the scale of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.scalePadding" href="#Axis.scalePadding">#</a> Axis.scalePadding([value]) <>
Sets the "padding" property of the scale, often used in point scales.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.select" href="#Axis.select">#</a> Axis.select([selector]) <>
If selector is specified, sets the SVG container element to the specified d3 selector or DOM element and returns the current class instance. If selector is not specified, returns the current SVG container element.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.shape" href="#Axis.shape">#</a> Axis.shape([value]) <>
If value is specified, sets the tick shape constructor and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.shapeConfig" href="#Axis.shapeConfig">#</a> Axis.shapeConfig([value]) <>
If value is specified, sets the tick style of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.tickFormat" href="#Axis.tickFormat">#</a> Axis.tickFormat([value]) <>
If value is specified, sets the tick formatter and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.ticks" href="#Axis.ticks">#</a> Axis.ticks([value]) <>
If value is specified, sets the tick values of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.tickSize" href="#Axis.tickSize">#</a> Axis.tickSize([value]) <>
If value is specified, sets the tick size of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.tickSuffix" href="#Axis.tickSuffix">#</a> Axis.tickSuffix([value]) <>
Sets the behavior of the abbreviations when you are using linear scale. This method accepts two options: "normal" (uses formatAbbreviate to determinate the abbreviation) and "smallest" (uses suffix from the smallest tick as reference in every tick).
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.timeLocale" href="#Axis.timeLocale">#</a> Axis.timeLocale([value]) <>
Defines a custom locale object to be used in time scale. This object must include the following properties: dateTime, date, time, periods, days, shortDays, months, shortMonths. For more information, you can revise d3p.d3-time-format.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.title" href="#Axis.title">#</a> Axis.title([value]) <>
If value is specified, sets the title of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.titleConfig" href="#Axis.titleConfig">#</a> Axis.titleConfig([value]) <>
If value is specified, sets the title configuration of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="Axis.width" href="#Axis.width">#</a> Axis.width([value]) <>
If value is specified, sets the overall width of the axis and returns the current class instance.
This is a static method of <code>Axis</code>, and is chainable with other methods of this Class.
<a name="AxisBottom"></a>
AxisBottom <>
This is a global class, and extends all of the methods and functionality of <code>Axis</code>.
<a name="new_AxisBottom_new" href="#new_AxisBottom_new">#</a> new AxisBottom()
Shorthand method for creating an axis where the ticks are drawn below the horizontal domain path. Extends all functionality of the base Axis class.
<a name="AxisLeft"></a>
AxisLeft <>
This is a global class, and extends all of the methods and functionality of <code>Axis</code>.
<a name="new_AxisLeft_new" href="#new_AxisLeft_new">#</a> new AxisLeft()
Shorthand method for creating an axis where the ticks are drawn to the left of the vertical domain path. Extends all functionality of the base Axis class.
<a name="AxisRight"></a>
AxisRight <>
This is a global class, and extends all of the methods and functionality of <code>Axis</code>.
<a name="new_AxisRight_new" href="#new_AxisRight_new">#</a> new AxisRight()
Shorthand method for creating an axis where the ticks are drawn to the right of the vertical domain path. Extends all functionality of the base Axis class.
<a name="AxisTop"></a>
AxisTop <>
This is a global class, and extends all of the methods and functionality of <code>Axis</code>.
<a name="new_AxisTop_new" href="#new_AxisTop_new">#</a> new AxisTop()
Shorthand method for creating an axis where the ticks are drawn above the vertical domain path. Extends all functionality of the base Axis class.
<a name="date"></a>
d3plus.date(date) <>
Returns a javascript Date object for a given a Number (representing either a 4-digit year or milliseconds since epoch), a String representing a Quarter (ie. "Q2 1987", mapping to the last day in that quarter), or a String that is in valid dateString format. Besides the 4-digit year parsing, this function is useful when needing to parse negative (BC) years, which the vanilla Date object cannot parse.
This is a global function.