import { StreamOrdinalFrame } from "semiotic" const frameProps = { /* --- Data --- */ data: [{ region: "Developed regions", y1990: 7.6, y2013: 3.4 }, { region: "Developing regions", y1990: 36.4, y2013: 22 }, ... ], chartType: "point", /* --- Size --- */ size: [700,500], margin: { left: 235, top: 50, bottom: 40, right: 10 }, /* --- Layout --- */ connectorAccessor: (d12) => d12.region, projection: "horizontal", barPadding: 10, multiAxis: false, /* --- Process --- */ oAccessor: "region", rAccessor: ["y1990","y2013"], rExtent: [0,], /* --- Customize --- */ pieceStyle: d => ({ fill: d.__rIndex === 0 ? "#ac58e5" : "#533f82", r: 8, }), connectorStyle: d => ({ stroke: d.y1990 > d.y2013 ? "#28a745" : "#dc3545", strokeWidth: 2, opacity: 0.4 }), title: "Neonatal Mortality Rate by Region from 1990 to 2013", showAxes: true, /* --- Interact --- */ enableHover: true, /* --- Annotate --- */ tooltipContent: d => { const datum = d.data || d const year = datum.__rIndex === 0 ? "1990" : "2013" const value = datum.__rValue return ( <div className="tooltip-content"> <div>{datum.region}</div> <div>{year}: {value?.toFixed(1)}%</div> </div> ) }, oLabel: true } export default () => { return <StreamOrdinalFrame {...frameProps} /> }