This example shows one way to encapsulate the D3 Margin Convention using Model.js.
Check out the resize behavior in full screen mode.
More generally, this example is an experiment in how to generalize self-contained pieces of dynamic graphical behavior. Note that the following three pieces of this visualization are each implemented in separate functions:
- The margin convention, which
- resizes the SVG element by setting
width
andheight
- translates the G element by the margin
top
andleft
- assigns values to the model properties
width
andheight
, which represent the dimensions of the rectangle inside the margin.
- resizes the SVG element by setting
- The background X.
- The clip rectangle, which will clip the corners of the background X to be within the rectangle inside the margin.
Draws from:
- blockbuilder.org starter code
- Responding to Resize This is where the X in the background comes from.
- Focus + Context Scatter Plots This is where the clip path logic comes from.