A brush in D3.js provides the ability for the user to interact with your visualization by allowing the selection of one or more visual elements (and the underlying data items) using the mouse.
This is a very important concept in exploratory data analysis and visualization, as it allows users to easily drill in and out of data or select specific data items for further analysis.
Brushing in D3.js is very flexible, and how you implement it depends upon the type of visualization you are presenting to the user. We will look at several examples or brushes and then implement a real example that lets us use a brush to examine stock data.
To understand brushes, let's first take a look at several brush examples on the Internet. These are all examples available on the web that you can go and play with.
The following brush shows the use of rectangular selection for selecting data that is within the brush (http://bl.ocks.org/mbostock/4343214...