Releases: nteract/semiotic
Annotation & Brush Bug-Squashing
Smarter Tooltips, Clean Up Logging Issues
Minor release (the real work is going on in the semiotic-2 branch) that adds some functionality thanks to @torioLuz and otherwise just cleans up some minor logging bugs
FEATURES
- Outbound tick lines option (@torioLuz could you make a PR to document this on semiotic-docs and/or a codepen or other to show how to use it?)
- Add more tooltip attributes to improve tooltip behavior (@torioLuz could you make a PR to document this on semiotic-docs and/or a codepen or other to show how to use it?)
FIXES
- Remove console log from OrdinalFrame
React 16.8+ Compatibility
Semiotic 2.0 deprecates a lot of old compatibility props, removes the download button and gets rid of deprecated lifecycle events. It should also (hopefully) take advantage of some of the newer React features. Please take a look and file any issues you discover.
DownloadButton
is gone. It provided some convenience and much hassle and my philosophy on how to handle exporting data is that it should be a case-by-case feature handled outside of the dataviz framework.- Since everyone didn't always want to render with sketchy rendering it's optional now, so to enable sketchy rendering you will need to import Rough or a Rough-like library and pass it to your frame using the
sketchyRenderingEngine
prop. So something like:
import roughjs from "roughjs/dist/rough.es5.umd.js"
<XYFrame
sketchyRenderingEngine={roughjs}
/>
- Old names for props (like
areas
in XYFrame which was replaced bysummaries
) are no longer honored. react15Wrapper
is removed from FacetController since React 15 is no longer supportedwordcloud
has been removed fromNetworkFrame
it was never a very good word cloud
Other changes should be coming. If you have any suggestions just let me know. Bugfixes to 1.X will, of course, continue.
Fix UMD, custom OrdinalFrame type
Calculate Extent with Annotations Included
FIXES
- Annotations in FacetController might not have been displayed prior to an interaction (thanks @susielu!)
- Invert extent wasn't being honored in FacetController (thanks @susielu!)
- Area annotation wasn't properly offset in XYFrame
FEATURES
- Honor
optimizeCustomTooltipPosition
in OrdinalFrame (thanks @torioLuz!) this allows you to change the tooltip position based on positive and negative data and whether it gets close to the edges. - Extent objects now honor a
includeAnnotations
option (which takestrue
orfalse
) which if set to true calculates the extent of the frame based not only on the data but also on simple annotations (any annotation types that use the data attributes likexy
,x
,y
,react-annotation
, notbounds
orcoordinates
or anything like that).
Fix Download Button, Column Brushing, Add Orphan Points
FEATURES
- In
NetworkFrame
inmotifs
mode you can now set apadding
prop for yournetworkSettings
that determines the number of pixels between each group. XYFrame
now supportsfilterRenderedLines
andfilterRenderedSummaries
which allows you to remove lines or summaries after they have been calculated so that the extent and other aspects of the chart are based on the complete datasetshowLinePoints
now honors an"orphan"
setting that will only show line points if a point has an undefined point immediately before and after that point. This means it will only have any kind of effect if you havedefined
set but when you do, it lets you show a floating point as a point so that it's not lost in the way a line renders.
FIXES
- The download feature should be working again
- Column brushes in
vertical
projection would hang if there were no zero values among your columns (so for instance in a parallel coordinates setting)
Torn Baseline
FIXES
- As expected, the TypeScript migration introduces a few issues and these seem to all be ironed out now (hence the lack of release notes since
1.19.1
as things get ironed out. FacetController
had issues when one of the child frames had no data.
FEATURES
- Full docs on how to better style your axes at https://semiotic.nteract.io/guides/axis
- Axes can now display a jagged base tick for you to use in non-zero baseline situations (this was historically a best practice half a century ago and seems useful to bring back) You can accomplish this by setting an axis prop:
jaggedBase: true
OTHER
- More tests! Please feel free to submit PRs for tests there are so many open issues related to this and I'm trying to handle them as they come up but if someone wants to start building a more robust set of tests then please let me know. We also need to expose the types in a sensible way and always need more docs.
TypeScript, Marginal Graphics, Trend Lines
UPDATES
- Semiotic is now in typescript, though there's a lot to be done to clean it up and remove the various
any
oras unknown as somethingElse
going on in there. PRs welcome! Thanks to @captainsafia for her help with this.
FEATURES
- XYFrame has a new
summaryType: "trendline"
that will show trendlines usingregression.js
. You can see the documentation on how to use it at the bottom of the XY Plot Guide.
Moving to nteract!
As some of you know already, Semiotic is now moving into the nteract project (https://github.com/nteract). So this release is just about updating the docs and pointing you to the new amazing docs written by @susielu! Please reach out if you see any issues.
areaType->summaryType
I was expecting to do the next minor version bump when the docs release and Semiotic gets moved into the nteract org (which should happen next week) but this last batch of changes was just too much, and I don't want to gatekeep it, so 1.18.0 will have to be the nteract release. This one has quite a few things:
#CHANGES
- A few versions back,
areas
in XYFrame was renamedsummaries
(though it's all backward compatible under the hood) but there were still computed class names and other bits that still saidarea
that now saysummary
oSort
replacessortO
inOrdinalFrame
FEATURES
- custom hover behavior in ordinal frame passes summary props, like boxplot points (thanks @torioLuz!)
FacetController
now supports arrays ofhoverAnnotation
orpieceHoverAnnotation
just like the regular frames- minimap in
MinimapXYFrame
now inherits style, class and render props from the parent frame - area nodes (like sankey and dagre nodes) in
NetworkFrame
now have azoomedWidth
andzoomedHeight
to reflect their zoomed size OrdinalFrame
accepts anaxes
prop like XYFrame- brush extent is always returned sorted so that the y values are
[min, max]
.
FIXES
column-hover
inOrdinalFrame
now passes properscreenCoordinates
if you want your own html annotation based on thatFacetController
wasn't always updating the extents properly if you deleted a frame or only changed data in one of your frames or swapped out all your frames for new onesFacetController
was duplicating annotations on the hovered frameNetworkFrame
was duping nodes that were sent in as object references of edge source-target keys- Network data sometimes was being mutated so you would see weird effects on your frames if you used the same data in multiple frames
- All the custom generators (
customPointMark
,customNodeIcon
,customMark
, etc) should be sent the same kind of data in the same pattern (obviously with scales and frame-specific stuff being different in different frames) - display names for spark frames match up with the component names