From 469fb45a644520b1553ab577d9a0a719dcae6b1e Mon Sep 17 00:00:00 2001 From: mhkeller Date: Sun, 11 Feb 2024 15:37:38 -0500 Subject: [PATCH] axisXTop.html + axis.html fixes --- src/_components/AxisX.html.svelte | 6 +- src/_components/AxisXTop.html.svelte | 88 ++++++++++++++----- .../_components_ssr/AxisXTop.html.svelte | 52 +++++++++-- 3 files changed, 114 insertions(+), 32 deletions(-) diff --git a/src/_components/AxisX.html.svelte b/src/_components/AxisX.html.svelte index cf12bfdc..55c9660b 100644 --- a/src/_components/AxisX.html.svelte +++ b/src/_components/AxisX.html.svelte @@ -82,16 +82,16 @@ class="tick-mark" style:left={(tickValPx + halfBand) + '%'} style:height={tickLen + 'px'} - style:bottom={-tickLen + 'px'} + style:bottom={(-tickLen - tickGutter) + 'px'} > {/if}
+ style='top:calc(100% + {tickGutter}px;'>
{format(tick)}
diff --git a/src/_components/AxisXTop.html.svelte b/src/_components/AxisXTop.html.svelte index 475e5458..67b116d3 100644 --- a/src/_components/AxisXTop.html.svelte +++ b/src/_components/AxisXTop.html.svelte @@ -1,32 +1,56 @@ - -
+
{#each tickVals as tick, i (tick)} - {#if gridlines !== false} -
+ {@const tickValPx = $xScale(tick)} + + {#if baseline === true} +
{/if} - {#if tickMarks === true} -
+ + {#if tickMarks === true && tickMarkLength === 'long'} +
+ {:else if tickMarks === true && (tickMarkLength === 'short' || typeof tickMarkLength === 'number')} +
{/if}
+ class='tick tick-{i}' + style:left={(tickValPx + halfBand) + '%'} + style='top:{-tickGutter}px;'>
{formatTick(tick)}
+ style:top={(-tickLen + 2) + 'px'} + style:transform={`translate(calc(-50% + ${dx}px), calc(-100% + ${dy}px))`} + >{format(tick)}
{/each} - {#if baseline === true} -
- {/if}
diff --git a/src/routes/_components_ssr/AxisXTop.html.svelte b/src/routes/_components_ssr/AxisXTop.html.svelte index 237f7707..3be29157 100644 --- a/src/routes/_components_ssr/AxisXTop.html.svelte +++ b/src/routes/_components_ssr/AxisXTop.html.svelte @@ -12,6 +12,11 @@ data.forEach(d => { d[yKey] = +d[yKey]; }); + + let tickMarks = true; + let snapLabels = true; + let baseline = true; + let tickMarkLength = 'long'; +
+ + + + + + + +
+
d[yKey]} yDomain={[0, null]} - data={data} + {data} > + {baseline} + {tickMarks} + {snapLabels} + tickMarkLength={Number.isNaN(+tickMarkLength) ? tickMarkLength : +tickMarkLength} + />