semiotic

A data visualization framework combining React & D3

OTHER License

Downloads
7K
Stars
2.4K
Committers
29

Bot releases are hidden (Show)

semiotic - Update json2csv version, annotations, titles

Published by emeeks over 6 years ago

#FIXES

  • Hopefully an update to a newer version of json2csv will get rid of an occasional bug where installing the package wouldn't work (without complaint or apparent cause)
  • SVG JSX titles are placed within a centered <g> element so that they can be used with responsive frames
  • Axes create a bit more padding for labels when margins are not defined and the axis has a label
  • Annotations that are being placed via marginalia annotation mode will not overwrite any sent orientation or align settings so those settings will respond as expected according to react-annotation.

#FEATURES

  • title properties in frames now accept an object (along with already accepting a string or SVG JSX) of structure: { title: yourStringOrJSXTitle, [orient: "left"|"right"|"bottom"|"top" ]} that will place a title in those areas (defaulting to top). If there are no margin settings, the corresponding margin will be increased by 40px. String titles on the left or right are rotated in the same manner as Axis Labels
semiotic - More Accessibility

Published by emeeks over 6 years ago

Features

  • Tooltips in keyboard navigation
    itt_muse
  • Better accessibility (axis ARIA labels, formatting of line labels in line charts)
  • Arrays of arrays can be sent to lines or areas in <XYFrame> and will be rendered without any kind of lineDataAccessor settings

Fixes

  • Check for focus on SVG elements
  • Correct title labeling for visualization ARIA label
semiotic - Pie Labels, tabIndex

Published by emeeks over 6 years ago

Fixes

  • Replaces tabindex throughout with tabIndex which should make accessibility work fine with React 15.x and 16.1+.

Features

  • oLabel now honors several orient and padding settings in radial mode (pie charts). You can send oLabel={{ label: "true", orient: "stem" }} and get:
    screen shot 2018-03-14 at 11 59 51 am
    "stem" orient also honors negative padding if you want the labels inside the slices, so oLabel={{ label: "true", orient: "stem", padding: -5 }} gives you:
    screen shot 2018-03-14 at 12 15 36 pm
    It also honors "edge" (which is the new default) so oLabel={true} will give you:
    screen shot 2018-03-14 at 11 59 34 am
    oLabel={{ label: "true", orient: "edge", padding: -10 }} insets the labels:
    screen shot 2018-03-14 at 2 49 34 pm
    The old default (arc centroid) can be achieved with orient: "center" but why would you with these cool options?
  • legend honors an orientation="horizontal" to create simple horizontal legends.
semiotic - Accessibility

Published by emeeks over 6 years ago

Features

  • Accessibility (Only Available in React 16+). Frames now have tabindex on the viz groups (pieces and summaries in OrdinalFrame, nodes and edges in NetworkFrame, lines and areas and points in XYFrame) so you can tab to the viz group and then hit enter and arrow key through the individual items, which are described with aria labels and some rudimentary descriptions. Please let me know how I can improve it.

itt_muse

  • Array position is available in tickFormat for axis elements as the second argument, so (d,i) => i would work for tickFormat.
semiotic - Fix Dist

Published by emeeks over 6 years ago

Fixes

  • This should fix the problem with the unpkg dist not working in codepens and elsewhere... hopefully.
  • ResponsiveFrame was taking a style prop and passing it down to its child frame, which would conflict with OrdinalFrame's style property (which applies to pieces). Something more elegant on this front needs to happen to resolve this.
  • highlight annotation types wouldn't recognize ids if those ids were the number 0 because of truthy testing, now it explicitly looks for undefined values
  • highlight annotations weren't working with points because points would have no y value because the id accessor would think you always wanted them positioned along a line, that's no longer the case
semiotic - Little Fixes

Published by emeeks over 6 years ago

This cleans up a lot of little bugs that cropped up in the last couple minor releases.

Fixes

  • tabIndex of the resize object in responsive frames is set to "-1"
  • binValue is honored correctly for histogram summaryTypes
  • areas generate showLinePoints points correctly
  • highlight annotations were eating react-annotation function type annotations
  • Some of the examples had stale CSS settings
  • marginalia annotation handling would fail if you didn't have any axes at all
  • download field mapping for downloads wasn't working right in a couple cases (OrdinalFrame and XY lines)
  • highlight annotation was setting the curve of the drawn highlight in such a way that if you didn't have an interpolator defined it would cause an error
semiotic - Ordinal Hover XY Positioning

Published by emeeks over 6 years ago

Fixes

  • pieceHoverAnnotation for bars, clusterbars and timelines wasn't in the right place
semiotic - Hover Highlighting, Good Night Voronoi Bars

Published by emeeks over 6 years ago

Features

Fixes

  • Sankey edges weren't being drawn correctly
  • linepercent and stackedpercent and other aggregate lines weren't rendering shown points properly
  • Download fields weren't being honored but are now only honored when downloads are set to "points" mode
  • Difference lines were not correctly rendering the difference line overlays
semiotic - Brush Fix

Published by emeeks over 6 years ago

Fixes

  • The recent changes allowing the brush to redraw itself caused some issues for the XY brush which when fixed revealed some other brush issues. It seems like brushes are in much better shape now.
  • nodeRenderKey is honored in NetworkFrame to specify more complex render keys for nodes

Features

  • New "Creating Line Chart" example that shows how to make a vertical brush and tie it to a chart.
semiotic -

Published by emeeks over 6 years ago

Features

  • Added customAreaMark to XYFrame, which is sent ({d, projectedCoordinates, xScale, yScale, bounds}) you can return just the d to be passed to a path element or whatever JSX SVG you want. the bounds object sent includes bounding box and a "center" which is the pole of inaccessibility (for labels)
  • Parent div/span of frames will have a class corresponding to the frame (xyframe, ordinalframe, networkframe)

Fixes

  • Brush will reinitialize with a new extent (thanks @susielu)
  • unpkg dist name corrected (thanks @puria)
  • Voronoi points are constrained to those on the canvas, so if you use fixed extents and push points off the canvas, the hover regions will ignore them
  • Added ESlint config file (thanks @netbek) and linted the heck out of things

Tests

  • Actually wrote some tests. Coverage is still... disappointing
semiotic - matte, calculated extents only

Published by emeeks over 6 years ago

Fixes

  • mattes were being drawn above axis labels should be drawn below them
  • extents returned from the new extent onChange should have always been calculated extents and ignored the user defined values sent to extent
semiotic - Custom Mark, oExtent, frameKey

Published by emeeks over 6 years ago

Fixes

  • customMark in ORFrame wasn't being passed the datapoint data
  • oExtent wasn't taking a set extent
  • frameKey can be set as an XYFrame prop and will not be set unless matte is enabled, this was causing some issues with Wordpress.
semiotic - Defined

Published by emeeks over 6 years ago

Fixes

  • Fix for defined behavior in XYFrame
semiotic - linepercent

Published by emeeks over 6 years ago

Features

  • Added a "linepercent" lineType to XYFrame that does the same thing "stackedpercent" does but for lines
  • Added percent as a decoration to the data points when hovering and added a default percent to the default tooltip content when you're hovering on stackedpercent and linepercent

Fixes

  • "stackedpercent" was crashing hoverAnnotation
semiotic - Canvas, Axis Fixes, Extent Change Event

Published by emeeks over 6 years ago

Features

  • oExtent, rExtent, yExtent & xExtent will not also take objects with format { extent, onChange } as well as arrays. If onChange is specified, this will fire a function whenever the calculated extent changes.

Fixes

  • Hover axes were rendering with position errors
  • canvas element was too large
semiotic - Little fixes

Published by emeeks over 6 years ago

Fixes

  • Canvas rendering no longer hard-crops the edges
  • Difference lines were rendering strangely
  • Some of the docs needed their settings reset
  • Remove Lodash and use native ES2015 functions
  • Remove d3-sankey and use d3-sankey-circular for non-circular sankeys
  • Make sure everything in devDependencies and dependencies in package.json makes sense

Docs

  • Add some inline videos for docs where I've done livestreams on those subjects
semiotic - Legend Position Bug

Published by emeeks over 6 years ago

Fixes

  • Legends were not taking into account margin and being drawn overlapping the frame
semiotic - Painty Gradients

Published by emeeks over 6 years ago

Features

  • Updated to semiotic-mark 0.1.2 which supports gradients for painty rendermode
  • Add a pieceIDAccessor property to OrdinalFrame in order to support relative annotation, so you could annotate a piece rather than a value.
semiotic - Annotation Fixes

Published by emeeks over 6 years ago

Fixes

  • SVG and HTML annotation layers were out of order, HTML should be on top
  • Vertical and Horizontal points along the line annotations weren't being calculated correctly
semiotic - Fix some Typos

Published by emeeks over 6 years ago

#Fixes

  • "tp" in default edge tooltip content instead of "to"
  • margin.left was being passed where margin.top should have been passed (thanks @jeff3dx) for the
  • Sankey edge tooltips are centered on the edge rather than the top of the edge