ColumnStacked.svelte component
Generates an SVG column chart. It uses the z-scale for color assignments and aassumes both xScale
and zScale
are ordinal scales. It assumes your data is in a [D3 stack format](https://github.com/d3/d3-shape#stack
<!--
@component
Generates an SVG column chart. It uses the z-scale for color assignments and aassumes both `xScale` and `zScale` are ordinal scales. It assumes your data is in a [D3 stack format](https://github.com/d3/d3-shape#stack
-->
<script>
import { getContext } from 'svelte';
const { data, xGet, yGet, zGet, xScale } = getContext('LayerCake');
</script>
<g class="column-group">
{#each $data as series, i}
{#each series as d}
{@const yVals = $yGet(d)}
{@const columnHeight = yVals[0] - yVals[1]}
<rect
class="group-rect"
data-id={i}
x={$xGet(d)}
y={yVals[1]}
width={$xScale.bandwidth()}
height={columnHeight}
fill={$zGet(series)}
></rect>
{/each}
{/each}
</g>