Releases: nteract/semiotic
Releases · nteract/semiotic
Annotation Interactivity
Big Changes
areasin XYFrame is a problematic term, since it conflates with stacked areas and other things that are handled bylines. As of 1.16 they've been renamed tosummaryso all the existingareaClass,areaStyle,areasand so on will besummaryClass,summaryStyle,summariesand so on. This is not a breaking change (only a minor version bump) because theareaterminology is still honored for backward compatibility.
Features
- A
summaryTypewith type set toridgelinewill now accept stringcurveprops along withd3-shapecurves, matching functionality in XYFrame - Bumpline starts counting at 1 instead of 0 so you get a more semantically meaningful rank description. It also flips the extent by default, so Rank 1 is on top.
ridgelinesummary types inOrdinalFramewill now honor anaxisprop in thesummaryTypeand display an axis for each summary, likehistogram- Pass
voronoiHoverto annotation rules, this allows you to fire off tooltips using Semiotic's built-in system (though you still need to enable pointer-events on any items you want to fire events from) - OrdinalFrame honors an
ordinal-lineannotation type to allow people to compose bar+line charts with interactivity on the line portion

See the example at the bottom of the Creating Bar Chart page for how to use ordinal-line. More interactive annotation types should be coming and you can experiment with using voronoiHover on your custom annotations.
https://emeeks.github.io/semiotic/#/semiotic/creatingbarchart
Square Root Bar Charts?
CLEANUP
d3-shapebump version to^1.2.0
FIXES
- Passing updated point data wouldn't always trigger an XYFrame update
FEATURES
Axisnow has adynamicLabelPositionprop that needs to be set totrueto enable the bounding-box based collision detection to adjust labels (introduced in an earlier version) because of performance issues with automatically running this for every Axis.OrdinalFrame'srScaleTypewill now take an instantiated scale (matching XYFrame) so you can make scales with settings (like scaleExp) like you can with XYFrame.XYFramesupports anarealineType that sets the y1 accessor to() => 0for easy line area charts.- Styling of
OrdinalFramepieces now passes the calculated props of the piece so you can useoIndexandrIndexto style pieces made by multiple accessors - Bar pieces now have a minimum size of 0 px instead of 1px, which caused weird issues with rendering offset
Arcs, Matrices & accessor index
Features
-
In
XYFrame, points and lines are decorated with xIndex, yIndex, lineIndex corresponding to the array position of xAccessors, yAccessors and lineAccessors. Likewise, OrdinalFrame decorates pieces with rIndex and oIndex which correspond to which of the accessors generated them. -
NetworkFramehas a newmatrixtype that creates an adjacency matrix.

-
NetworkFramehas a newarctype that creates an arc diagram.

Little Fixes
FIXES
- Connector styling in
OrdinalFramesends data and drawing element NetworkFramesends decorated data object to HTML annotation functioncustomPointMarkinXYFramehad issues with being sent elements rather than functions returning elementsNetworkFramesends decorated data object to the separationnodeSizeAccessorfor tree diagrams
Precalc Bins, Node Size in Trees
Features
- NetworkFrame in
treeorclusterwill takenodeSizeAccessorinto account when calculating theseparationvalue for nodes. Note that this can have strange effects if your total node size for a row/column is larger than the size of the viz. heatmappingandhexbinningare exposed as functions so you can precalc your bins to find max values and optimize performance
ForegroundGraphics fix in OrdinalFrame
Fixes
- OrdinalFrame generates its foregroundGraphics slightly differently than the other two frames, so it wasn't honoring the new foregroundGraphics as a function thing
foregroundGraphics/backgroundGraphics accept functions
Features
foregroundGraphicsandbackgroundGraphicswill now take a function of type({ size, margin }) => <JSX-SVG />so you can properly size your foreground and background graphics with responsive frames.
Fixes
- Default tooltip content for edges was showing "source id to source id" instead of "source id to target id".
Edge Highlighting
Features
- NetworkFrame
highlightannotation works for edges. The edge annotation needs to haveedge: trueandsourceandtargetobjects that have IDs that correspond to yournodeIDAccessor
Fix 0 value point tooltips
FIXES
- Points with a value of 0 were incorrectly showing the position of the tooltip
FEATURES
heatmapandhexbinarea types honor abinMaxproperty that takes a callback and returns the maximum binned value (for use with legends, for instance)
multi-x
Features
- In
XYFrameyou can pass an xAccessor that returns an array of values for things like horizontal candlestick charts. This would probably cause extreme weirdness if used for lines or areas but if you have an idea of how or why that would work, feel free to file an issue.
Fixes
OrdinalFrameandNetworkFramehave canvas interaction disabled to allow for SVG-based interactivity when rendering with canvas. Canvas interaction (like the kind found inXYFrame) will come in a future release for these frames.

