Skip to main content

brush

Brush

Brush Chart reusable API class that renders a simple and configurable brush chart.

Requires: module:d3-array, module:d3-axis, module:d3-brush, module:d3-ease, module:d3-scale, module:d3-shape, module:d3-dispatch, module:d3-selection, module:d3-time, module:d3-transition, module:d3-time-format
Example

let brushChart = brush();

brushChart
.height(500)
.width(800);

d3Selection.select('.css-selector')
.datum(dataset)
.call(brushChart);

exports(_selection, _data) ⏏

This function creates the graph using the selection as container

Kind: Exported function

ParamTypeDescription
_selectionD3SelectionA d3 selection that represents the container(s) where the chart(s) will be rendered
_dataBrushChartDataThe data to attach and generate the chart

exports.axisTimeCombinations

Exposes the constants to be used to force the x axis to respect a certain granularity current options: MINUTE_HOUR, HOUR_DAY, DAY_MONTH, MONTH_YEAR

Kind: static property of exports
Example

brush.xAxisCustomFormat(brush.axisTimeCombinations.HOUR_DAY)

exports.animationDuration(_x) ⇒ duration | module

Gets or Sets the duration of the area animation

Kind: static method of exports
Returns: duration | module - Current animation duration or Chart module to chain calls
Access: public

ParamTypeDefaultDescription
_xNumber1200Desired animation duration for the graph

exports.areaCurve([_x]) ⇒ String | module

Gets or Sets the area curve of the stacked area.

Kind: static method of exports
Returns: String | module - Current area curve setting or Chart module to chain calls
Access: public

ParamTypeDefaultDescription
[_x]String'basis'Desired curve for the area. Other options are: monotoneX, natural, linear, monotoneY, step, stepAfter, stepBefore, cardinal, and catmullRom. Visit https://github.com/d3/d3-shape#curves for more information.

Example

brushChart.areaCurve('step')

exports.dateRange([_x]) ⇒ dateRange | module

Gets or Sets the dateRange for the selected part of the brush

Kind: static method of exports
Returns: dateRange | module - Current dateRange or Chart module to chain calls
Access: public

ParamTypeDefaultDescription
[_x]Array.<String>[null, null]Desired dateRange for the graph

exports.gradient([_x]) ⇒ String | Module

Gets or Sets the gradient of the chart

Kind: static method of exports
Returns: String | Module - Current gradient or Chart module to chain calls
Access: public

ParamTypeDefaultDescription
[_x]Array.<String>colorHelper.colorGradients.greenBlueDesired gradient for the graph

exports.height(_x) ⇒ Number | Module

Gets or Sets the height of the chart

Kind: static method of exports
Returns: Number | Module - Current height or Chart module to chain calls
Access: public

ParamTypeDescription
_xNumberDesired width for the graph

exports.isAnimated(_x) ⇒ Boolean | module

Gets or Sets the isAnimated property of the chart, making it to animate when render.

Kind: static method of exports
Returns: Boolean | module - Current isAnimated flag or Chart module
Access: public

ParamTypeDescription
_xBoolean= false Desired animation flag

exports.isLoading(flag) ⇒ boolean | module

Gets or Sets the loading state of the chart

Kind: static method of exports
Returns: boolean | module - Current loading state flag or Chart module to chain calls
Access: public

ParamTypeDescription
flagbooleanDesired value for the loading state

exports.isLocked(_x) ⇒ Boolean | module

Gets or Sets the isLocked property of the brush, enforcing the initial brush size set with dateRange

Kind: static method of exports
Returns: Boolean | module - Current isLocked flag or Chart module
Access: public

ParamTypeDescription
_xBoolean= false Whether the brush window is locked, requires a value set with '.dateRange` when true

exports.locale(_x) ⇒ String | Module

Pass language tag for the tooltip to localize the date. Feature uses Intl.DateTimeFormat, for compatability and support, refer to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat

Kind: static method of exports
Returns: String | Module - Current locale or module to chain calls

ParamTypeDescription
_xStringMust be a language tag (BCP 47) like 'en-US' or 'fr-FR'

exports.margin(_x) ⇒ Object | Module

Gets or Sets the margin of the chart

Kind: static method of exports
Returns: Object | Module - Current margin or Chart module to chain calls
Access: public

ParamTypeDescription
_xObjectMargin object to get/set

exports.on(typenames, [callback]) ⇒ exports

Adds, removes, or gets the callback for the specified typenames.

Kind: static method of exports
Access: public
See: d3-dispatch:on

ParamTypeDescription
typenamesStringOne or more event type names, delimited by a space
[callback]eventCallbackCallback to register

exports.width(_x) ⇒ Number | Module

Gets or Sets the width of the chart

Kind: static method of exports
Returns: Number | Module - Current width or Chart module to chain calls
Access: public

ParamTypeDescription
_xNumberDesired width for the graph

exports.xAxisCustomFormat(_x) ⇒ String | Module

Exposes the ability to force the chart to show a certain x format It requires a xAxisFormat of 'custom' in order to work.

Kind: static method of exports
Returns: String | Module - Current format or module to chain calls
Access: public

ParamTypeDescription
_xStringDesired format for x axis, one of the d3.js date formats here

exports.xAxisFormat(_x) ⇒ String | Module

Exposes the ability to force the chart to show a certain x axis grouping

Kind: static method of exports
Returns: String | Module - Current format or module to chain calls
Access: public

ParamTypeDescription
_xStringDesired format, a combination of axisTimeCombinations (MINUTE_HOUR, HOUR_DAY, DAY_MONTH, MONTH_YEAR) Set it to 'custom' to make use of specific formats with xAxisCustomFormat

Example

brushChart.xAxisCustomFormat(brushChart.axisTimeCombinations.HOUR_DAY)

exports.xTicks([_x]) ⇒ Number | Module

Exposes the ability to force the chart to show a certain x ticks. It requires a xAxisCustomFormat of 'custom' in order to work. NOTE: This value needs to be a multiple of 2, 5 or 10. They won't always work as expected, as D3 decides at the end how many and where the ticks will appear.

Kind: static method of exports
Returns: Number | Module - Current number or ticks or module to chain calls
Access: public

ParamTypeDefaultDescription
[_x]NumberDesired number of x axis ticks (multiple of 2, 5 or 10)

exports.roundingTimeInterval([_x]) ⇒ roundingTimeInterval | Module

Gets or Sets the rounding time interval of the selection boundary

Kind: static method of exports
Returns: roundingTimeInterval | Module - Current time interval or module to chain calls
Access: public
See: https://github.com/d3/d3-time#intervals

ParamTypeDefaultDescription
[_x]roundingTimeInterval'timeDay'Desired time interval for the selection, default 'timeDay'.

Example

All options are:
timeMillisecond, utcMillisecond, timeSecond, utcSecond, timeMinute, utcMinute, timeHour, utcHour, timeDay, utcDay
timeWeek, utcWeek, timeSunday, utcSunday, timeMonday, utcMonday, timeTuesday, utcTuesday, timeWednesday,
utcWednesday, timeThursday, utcThursday, timeFriday, utcFriday, timeSaturday, utcSaturday, timeMonth, utcMonth,
timeYear and utcYear.

"customBrushStart"

Event indicating when the brush moves

Kind: event emitted by exports
See: d3-brush:on(brush)

"customBrushEnd"

Event indicating the end of a brush gesture

Kind: event emitted by exports
See: d3-brush:on(end)

exports~BrushChartData : Array.<Object>

Kind: inner typedef of exports
Properties

NameTypeDescription
valueNumberValue to chart (required)
dateDateDate of the value in ISO8601 format (required)

Example

[
{
value: 1,
date: '2011-01-06T00:00:00Z'
},
{
value: 2,
date: '2011-01-07T00:00:00Z'
}
]

exports~DateExtent : Array.<Date>

Date range

Kind: inner typedef of exports
See: d3-brush:brushSelection
Properties

NameTypeDescription
0DateLower bound date selection
1DateUpper bound date selection

exports~eventCallback : function

Kind: inner typedef of exports

ParamTypeDescription
dateExtentDateExtentDate range