Skip to content

v2.0

Compare
Choose a tag to compare
@davelandry davelandry released this 03 Feb 23:45
· 21 commits to main since this release

v2.0 of d3plus marks the first public release of all of the various modules that have been in development (and production) over the past few years. This update includes 3 substantial upgrades:

  1. better default visual styles
  2. updated all d3 packages to their latest version
  3. updated popper.js to latest version

The following items have updated visual styles, so your designs may change if you are not already overriding the following items in your visualization configs:

  • larger fontSize for axis tick labels
  • lighter gridConfig:stroke color on axes
  • custom legendPosition and colorScalePosition based on width/height ratio ("right" in landscape, "bottom" in portrait)
  • automatic Bar labels in BarChart (inside Bar if space is available, outside if not)
  • legend in BarChart and Treemap is set to false if the items shown matches the items in the legend
  • default curve for Line and Area shapeConfig has been changed from "linear" to "monotoneX"
  • default colorDefaults.dark color changed from #444 to #555 (used for most text labels)
  • new default colors when assigning colors automatically
  • new default color scale
  • colorScale scale changed from "linear" to "jenks"
  • legend fontSize is smaller
  • legend width/height changed from 10 to 12
  • larger title font-size for tooltips
  • tooltip backgrounds changed from white to light gray
  • completely removes all controls methods (considering deprecating d3plus-form in favor of users defining their own controls)
  • sets axis title automatically if user used a String to define the axis and has not specified a title
  • adds a small buffer to numeric axes
  • hides repetitive tick labels in non-grouped BarCharts

In addition to the style changes, the following updates to the underlying d3 libraries will effect anyone backpacking off of the d3plus dependencies in their projects:

  • mouse no longer exists in d3-selection. switch to use pointer, and provide it the current event as it's first argument
  • the global event object no longer exists, it is now passed along to the current function being run as a forth argument (d, i, x, e)
  • the latest d3 modules adopt some ES6 usage (most notably Set/Map). your code must be run through a transpiler to support older browsers.