Releases: d3plus/d3plus
Releases · d3plus/d3plus
1.6.9
- Added horizontal and vertical alignment into d3plus.textwrap( ) with the new .align( ) and .valign( ) methods (#236).
- Added .padding( ) to d3plus.textwrap( ).
- Added .rotate( ) to d3plus.textwrap( ).
- Added .x( ) and .y( ) to d3plus.textwrap( ).
- Many small bug fixes for d3plus.textwrap( ).
- Fixed some text-alignment issues when using web fonts (#228).
- Fixed compile bug with nodejs projects (#244).
- Changed default .data( ) "sort" to
false
for d3plus.form( ). - Squashed some Safari bugs.
- Updated devdependencies.
- Tweaked file permissions on compiled library (#245).
1.6.8
- Numerous d3plus.textwrap( ) bug fixes and speed improvements.
- Fixed issue with non-latin alphabet IDs (#235).
- Added MIT license to repository (#239).
- Various small tooltip and chart axis bugs (including #238).
- d3plus.object.validate( ) now returns
false
when passed a Date object. - d3plus.string.title( ) now respects parentheses and has a few more special exceptions.
- Slight speed improvements to overall data nesting and d3plus.util.uniques( ).
- Updated D3 dependency.
1.6.7
- Fixed some issues with d3plus.textwrap (including #233).
- Fixed logarithmic Bar Charts with
0
values. - Updated dependencies (prod and dev).
1.6.6
New Stuff
- Removed d3plus.network.distances in favor of the new d3plus.network.smallestGap function, which uses a quadtree to return the distance between the two closest nodes in a network.
- Created .config( ) method to allow passing a pre-constructed d3plus configuration Object.
- Bar Chart padding is now based on the available screen space, and the value/percentage used can be changed by modifying the padding value for each axis independently (#217).
- Bar Chart tooltips now follow mouse.
- Implemented "min" and "max" overides for .size( ) scale.
- Added "grouping" boolean to .id( ) that allows toggling data grouping while still maintaining nesting for tooltips.
- The opacity of the background items when focusing on a specific portion of a Network or Geo Map is now accessible via the "curtain" opacity in .tooltip( ).
- Chart grid lines can now be toggled on/off independently for .x( ) and .y( ) using the "grid" and "axis" keys.
- Axis label text can now be overridden.
- .x( ) axis text is now text-wrapped when appropriate (closes #182).
- .order( ) now contains an "agg" key that determines the aggregation method when order groups of data on a discrete axis (Bar Charts).
- Optional parameters in d3plus.font.sizes are now grouped into an optional dictionary, and include a new "mod" parameters.
- .legend( ) and .labels( ) both now accept a "text" key that overrides the default .text( ) behavior (closes #221).
- "opacity" of .edges( ) now accepts a number, a user-defined function that gets passed the edge data and expects an opacity in return, or a string key of the edges to run through a scale (closes #219).
- Additional parameters for the size scaling of .edges( ) are now available.
Bug Fixes
- Discrete chart axes (like in Bar Charts) now support String values.
- Greatly improved chart axis buffers, specifically with log scales.
- Axis labels now correctly position themselves based on their font size.
- Tooltips are no longer created in the .container( ) element, and are now only constrained by the edges of the window.
- Fixed issues with .tooltip( ) positioning on scrolling pages and absolutely positioned .container( ) elements.
- A ton of fixes related to label behavior of visualizations that zoom (Network, I'm looking at you).
- Global .font( ) styles now correctly propagate down to any other method that supports them.
- Removed pixel rounding from coordinate labels, which was causing incorrect text positioning.
- Fixed bug where d3plus.geom.largestRect would crash if point intersection could not be found.
- Line Plots now animate correctly (and are much faster to draw).
- Improved behavior of the "including" list in tooltips.
- Fixed bug with .active( ) pie fill styling.
- Fixed custom .error( ) messages not being displayed in visualization initialization.
- .ui( ) form data now maintains the order in which it was passed.
- .ui( ) text labels now get run through the .format( ) function.
- Multiple additional small .ui( ) bug fixes.
- "Click to zoom" is now only available for data points that have more than 1 child element.
- d3plus.number.format now correctly formats 4-digit numbers (ex.
5000
to5k
). - .icon( ) now defaults to
false
. - Charts with large amounts of data now will not display data ticks along each axis (they were illegible and slowed the draw time down, closes #218).
- d3plus.util.uniques now correctly detects and removes
null
values. - The d3plus object (d3plus.viz, d3plus.form, etc) is now passed as a second variable to all method callback functions.
- Small speed improvements across the entire library, including a rudimentary internal form of data caching/lookup.
- Updated dependencies (now requires D3.js 3.5 or greater) and fixed some Bower issues.
1.6.5
- Similar to .size( ) values, non-discrete axis values are now displayed in tooltips by default.
- Fixed a bug where multiple visualizations on the same page were using the same clipping mask (#214).
- Resolved a newly introduced bug where Scatter Plots would always try to set a discrete axis.
- Sped up axis tick marks.
- Fixed a bower install bug (#215).
1.6.4
- .ui( ) elements now support providing custom methods, labels, and form types (live example).
- Fixed nesting bug where duplicate number values where being discarded (fixes #209, thanks @nirajbothra!).
- All charts now use the .time( ) variable for the discrete axis, if not specified (fixes #213).
- Focused network/rings nodes now show a tooltip if the focus tooltip has been disabled (fixes #207).
- Fixed an internal bug when parsing data key types if first encountered was
null
. - Small design fixes/tweaks.
- Created an example page showing how .icon( ) works (here).
- Updated dependencies (prod and dev).
1.6.3
- Fixed broken search in drop down forms.
- All "solo" and "mute" filters now have the ability to access a callback function (#200).
- .format( ) now gets passed the data object when applicable (closes #199).
- Added a "sort" boolean to .data( ) in forms.
- Fixed some bower.json file issues (thanks @tkh44).
- Updated dependencies (standard and dev, closes #198).
1.6.2
- X axis now always defaults to be discrete, regardless of .time( ), if needed (fixes #195).
- Table visualization now supports integer .id( ) values (fixes #194).
- Internal data array sorting is much faster (much faster Drop Down forms).
- Fixed issue setting font family in Forms.
- Fixed detecting the default .focus( ) for Forms.
- Updated devdependencies.
1.6.1
1.6.0 "Turquoise"
New Stuff
- Bar Chart visualization type (closes #103).
- Pie Chart visualization type (closes #104).
- Box and Whisker Plot visualization type (closes #169).
- Table visualization type (closes #105, thanks @alexandersimoes).
- Guide to Creating Visualizations (closes #67, thanks @alexandersimoes).
- Tons of new X/Y plot styles are now publicly accessible.
- d3plus.network.cluster, a clustering algorithm for networks (thanks @dsmilkov).
- d3plus.network.subgraph, which returns a subgraph based on a source node (thanks @dsmilkov).
- d3plus.network.normalize, which validates a network graph (thanks @dsmilkov).
- d3plus.geom.path2poly, which converts an SVG path String into a list of coordinate points.
- d3plus.array.contains, which acts as a more robust
.indexof( )
. - d3plus.array.sort and d3plus.array.comparator, which help sorting arrays of objects.
- d3plus.client.css, which checks to see if a specific stylesheet is loaded.
- d3plus.font.sizes, which computes the width and height of an array of strings.
- Completely refactored the documentation.
Refactored Code
- Completely refactored all visualizations that use the X/Y plot (Scatter, Line Plot, Stacked, etc). Improved both speed and styling.
- Deprecated the "chart" visualization type. Moving forward, please use the specific type you intend to use ("stacked", "line", etc).
- Moved d3plus.util.offset to d3plus.geom.offset.
- Moved d3plus.util.distances to d3plus.network.distances.
- Moved d3plus.evt to d3plus.client.pointer.
- Moved all of the General Utilities into d3plus.client, as these utilities are specific to the client browser's properties.
- Removed localizations from the global namespace.
- Renamed "continuous" axis to "discrete" axis, as it is a more appropriate name.
dev
Full Browserify support, everything uses the module system internally.dev
Modularized gulpfile.js tasks into separate files.dev
Updated dev-dependencies, please runnpm update
in your local environment.
Bug Fixes
- Nodes in the Primary Connections list are now clickable (closes #99).
- HTML content is now displayed in focus tooltips (closes #163).
- External thresholds can now be defined as functions (closes #173, thanks @wolph).
- Threshold formatting now correctly passes the key name (closes #174, thanks @wolph).
- Fixed some bugs with discrete time axes (resulting in unconnected Line Plots).
- Some cross-browser bug fixes (focusing on IE9 support, thanks @dani-h).