diff --git a/docs/docs/api/specs/xy/axis.mdx b/docs/docs/api/specs/xy/axis.mdx
index aa24a25fe1b..94593018e78 100644
--- a/docs/docs/api/specs/xy/axis.mdx
+++ b/docs/docs/api/specs/xy/axis.mdx
@@ -132,7 +132,7 @@ Show duplicated ticks
### `timeAxisLayerCount`
- Type: timeAxisLayerCount: number
-- Default: `0`
+- Default: `2`
- tag: `@alpha`
Render a multi-layer time axis. Use 2 or 3 as valid number of layers. Use 0 to use the alternative, one row, time axis.
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/annotations-lines/advanced-markers-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/annotations-lines/advanced-markers-chrome-linux.png
index 15738d443fc..0a55b74779b 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/annotations-lines/advanced-markers-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/annotations-lines/advanced-markers-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/annotations-lines/x-time-domain-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/annotations-lines/x-time-domain-chrome-linux.png
index 6dd3e9c360a..efd2103e2ea 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/annotations-lines/x-time-domain-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/annotations-lines/x-time-domain-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/band-area-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/band-area-chrome-linux.png
index 38458042043..88ccdf6f36f 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/band-area-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/band-area-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-chrome-linux.png
index ef047252dfe..c2b116c95ba 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-percentage-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-percentage-chrome-linux.png
index 94f2e23e54c..9a766577538 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-percentage-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-percentage-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-percentage-with-zeros-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-percentage-with-zeros-chrome-linux.png
index 066be0578cc..9fa01d0056b 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-percentage-with-zeros-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-percentage-with-zeros-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-same-naming-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-same-naming-chrome-linux.png
index f4d7551c683..5160b32c0f5 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-same-naming-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-same-naming-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-separate-specs-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-separate-specs-chrome-linux.png
index ef047252dfe..c2b116c95ba 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-separate-specs-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/stacked-separate-specs-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/test-single-point-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/test-single-point-chrome-linux.png
index 16d8442f1e3..57a801530b0 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/test-single-point-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/test-single-point-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/test-time-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/test-time-chrome-linux.png
index 39601b28997..0aaaaea3190 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/test-time-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/test-time-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/timeslip-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/timeslip-chrome-linux.png
index e6a9eaa93ee..8093c9abd0a 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/timeslip-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/timeslip-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-4-axes-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-4-axes-chrome-linux.png
index 2438a326078..7409659bea8 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-4-axes-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-4-axes-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-axis-and-legend-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-axis-and-legend-chrome-linux.png
index 8681aeb05f9..6bd95d17220 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-axis-and-legend-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-axis-and-legend-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-negative-values-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-negative-values-chrome-linux.png
index c24d85e975d..833adfce73c 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-negative-values-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-negative-values-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-time-x-axis-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-time-x-axis-chrome-linux.png
index 162e2196e26..bce438c4eb9 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-time-x-axis-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/area-chart/with-time-x-axis-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/axes/basic-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/axes/basic-chrome-linux.png
index c10b106be97..f07b46680da 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/axes/basic-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/axes/basic-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/axes/duplicate-ticks-2-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/axes/duplicate-ticks-2-chrome-linux.png
index b2e35ba4cc7..5e4b550b4f5 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/axes/duplicate-ticks-2-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/axes/duplicate-ticks-2-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/axes/duplicate-ticks-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/axes/duplicate-ticks-chrome-linux.png
index a9af9689903..9c6b6faf2cc 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/axes/duplicate-ticks-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/axes/duplicate-ticks-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/band-bar-chart-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/band-bar-chart-chrome-linux.png
index 8be15041080..4c351c50d94 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/band-bar-chart-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/band-bar-chart-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/rendering-sort-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/rendering-sort-chrome-linux.png
index 5f16ebe525c..b8bdd7cb16e 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/rendering-sort-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/rendering-sort-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/test-time-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/test-time-chrome-linux.png
index 56eff6fa9d8..480020ebe1a 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/test-time-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/test-time-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/test-time-clustered-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/test-time-clustered-chrome-linux.png
index f47c03469ff..b49b895424a 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/test-time-clustered-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/test-time-clustered-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/time-clustered-using-various-specs-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/time-clustered-using-various-specs-chrome-linux.png
index baf3b3f20cc..caf99acad05 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/time-clustered-using-various-specs-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/time-clustered-using-various-specs-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/time-stacked-using-various-specs-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/time-stacked-using-various-specs-chrome-linux.png
index e59ff4310cf..d9fe48ad85d 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/time-stacked-using-various-specs-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/time-stacked-using-various-specs-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/with-time-x-axis-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/with-time-x-axis-chrome-linux.png
index 60970c60068..691f630880f 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/with-time-x-axis-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/bar-chart/with-time-x-axis-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/brush-selection-tool-on-histogram-time-charts-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/brush-selection-tool-on-histogram-time-charts-chrome-linux.png
index 03e63805dc5..b92513600f6 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/brush-selection-tool-on-histogram-time-charts-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/brush-selection-tool-on-histogram-time-charts-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/brush-selection-tool-on-time-charts-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/brush-selection-tool-on-time-charts-chrome-linux.png
index f5686214523..83dc1ef4b46 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/brush-selection-tool-on-time-charts-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/brush-selection-tool-on-time-charts-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/crosshair-with-time-axis-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/crosshair-with-time-axis-chrome-linux.png
index 963fa851c32..724cdece896 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/crosshair-with-time-axis-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/crosshair-with-time-axis-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/cursor-update-action-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/cursor-update-action-chrome-linux.png
index 37e142775e9..f64a509fac3 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/cursor-update-action-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/cursor-update-action-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/interaction-with-null-values-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/interaction-with-null-values-chrome-linux.png
index 5bd9f5bab54..1c75df2f060 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/interaction-with-null-values-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/interaction-with-null-values-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/png-export-action-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/png-export-action-chrome-linux.png
index cfd37cea50a..7d69e627d15 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/png-export-action-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/interactions/png-export-action-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/legend/custom-legend-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/legend/custom-legend-chrome-linux.png
index a3f8e486c09..32eb44d45d2 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/legend/custom-legend-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/legend/custom-legend-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/curved-with-axis-and-legend-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/curved-with-axis-and-legend-chrome-linux.png
index 55b66ceac59..78434baf984 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/curved-with-axis-and-legend-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/curved-with-axis-and-legend-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/isolated-data-points-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/isolated-data-points-chrome-linux.png
index 0162c1a1597..8fd96957017 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/isolated-data-points-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/isolated-data-points-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/multi-series-with-log-values-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/multi-series-with-log-values-chrome-linux.png
index 17717e6fb55..e3648cf85c6 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/multi-series-with-log-values-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/multi-series-with-log-values-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/multiple-with-axis-and-legend-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/multiple-with-axis-and-legend-chrome-linux.png
index 82ca05a3c7c..ed74f8c7be4 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/multiple-with-axis-and-legend-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/multiple-with-axis-and-legend-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/point-shapes-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/point-shapes-chrome-linux.png
index e800f45cba2..d0fbd86c33a 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/point-shapes-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/point-shapes-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/stacked-with-axis-and-legend-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/stacked-with-axis-and-legend-chrome-linux.png
index ca93e807b28..6ec1f708a58 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/stacked-with-axis-and-legend-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/stacked-with-axis-and-legend-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/test-negative-points-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/test-negative-points-chrome-linux.png
index cd3d3aecf6e..af59c43b78f 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/test-negative-points-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/test-negative-points-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/with-axis-and-legend-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/with-axis-and-legend-chrome-linux.png
index 47120ed424c..c95a03dc77f 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/with-axis-and-legend-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/with-axis-and-legend-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/with-axis-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/with-axis-chrome-linux.png
index 9df6ab964e7..dc255241b3d 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/with-axis-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/line-chart/with-axis-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/mixed-charts/test-bar-lines-time-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/mixed-charts/test-bar-lines-time-chrome-linux.png
index c4c117c28a6..558ddc535f3 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/mixed-charts/test-bar-lines-time-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/mixed-charts/test-bar-lines-time-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/scales/specified-timezone-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/scales/specified-timezone-chrome-linux.png
index c0a1c08c89f..5c74f035086 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/scales/specified-timezone-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/scales/specified-timezone-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/scales/timezone-configuration-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/scales/timezone-configuration-chrome-linux.png
index 17945be0e7a..d703a5d2780 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/scales/timezone-configuration-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/scales/timezone-configuration-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/scales/tooltip-in-local-timezone-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/scales/tooltip-in-local-timezone-chrome-linux.png
index 17945be0e7a..d703a5d2780 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/scales/tooltip-in-local-timezone-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/scales/tooltip-in-local-timezone-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/scales/tooltip-in-utc-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/scales/tooltip-in-utc-chrome-linux.png
index 17945be0e7a..d703a5d2780 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/scales/tooltip-in-utc-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/scales/tooltip-in-utc-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/small-multiples-alpha/grid-lines-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/small-multiples-alpha/grid-lines-chrome-linux.png
index ef51f554048..4303958ae5c 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/small-multiples-alpha/grid-lines-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/small-multiples-alpha/grid-lines-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/small-multiples-alpha/vertical-areas-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/small-multiples-alpha/vertical-areas-chrome-linux.png
index 96916aa261e..5fe46c390ad 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/small-multiples-alpha/vertical-areas-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/small-multiples-alpha/vertical-areas-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/stylings/highlighter-style-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/stylings/highlighter-style-chrome-linux.png
index 2b57f82d93f..3acf9a10df1 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/stylings/highlighter-style-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/stylings/highlighter-style-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/domain-edges-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/domain-edges-chrome-linux.png
index 261afd3b41a..f2343928720 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/domain-edges-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/domain-edges-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/legend-scroll-bar-sizing-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/legend-scroll-bar-sizing-chrome-linux.png
index 7f116cb7257..c17fa979c34 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/legend-scroll-bar-sizing-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/legend-scroll-bar-sizing-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/lens-stress-test-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/lens-stress-test-chrome-linux.png
index b2eb2020cad..4f2cadb1494 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/lens-stress-test-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/lens-stress-test-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/point-style-overrides-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/point-style-overrides-chrome-linux.png
index a4ecc593063..60eab58cdb7 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/point-style-overrides-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/point-style-overrides-chrome-linux.png differ
diff --git a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/start-day-of-week-chrome-linux.png b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/start-day-of-week-chrome-linux.png
index dc14921e0a9..80d612f9af2 100644
Binary files a/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/start-day-of-week-chrome-linux.png and b/e2e/screenshots/all.test.ts-snapshots/baselines/test-cases/start-day-of-week-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index 20550a4bfd5..7a0ba91efd9 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 27a3e557d0b..359dc3e75ee 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 15738d443fc..0a55b74779b 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index 25e53699e35..5374dee1418 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index b85dd293d6f..83985e16cb7 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 29697e4322d..d1883396b92 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index 6ecba850a7f..cdfbb5e91f1 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 3b8e2a0f99a..4fce8cb3755 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index efa8350bb30..9e7f3dd254a 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index d2b18842353..6f57b185ec0 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 56911e9c3c4..812ebc5e7d4 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 14fb678a4d7..e4b76addb00 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-bottom/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index 677544cd856..2b41b07c65e 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 636b1bbaba4..cccbc27d108 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 09ac476a8eb..bce6b3b6446 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index bfd7ff86fb1..90c8e834245 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 4a834d73837..f33849b0d44 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 69ba5b7d4f8..3e1a4eff553 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index 2c0d449b363..1da3a0a5e56 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 6b8bc5fc7ad..c4f98d8594d 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index c3066d6404f..ac8e7deb367 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index 2e7e20a93c6..62127acef36 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index c4bad0658c3..2133ad99690 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 92350f3d9b3..91c6ecf8b42 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-left/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index ac61ce6eb40..98a5751274c 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index cf9bba24f40..e5c656a1d7e 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 22ed7323e5d..0f4579e664a 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index ba0facf1320..76f0414d491 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index d3d72e7322b..62efb894211 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 25b44897be0..cbdc8d3b264 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index 9a2484e1af7..4fee8768ec8 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 44e078c05bb..8d8aac4d54d 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 0e30770d47e..a5a3a1cd959 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index b1b9a12d082..cd33ca0451e 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 47cd2726b96..666b2843eb2 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 376d7b731ab..373d027d1f7 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-right/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index b751e9d1f30..e9a9b7fc82a 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index dff758b4977..16e358a1b7e 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index f3b924c3087..43b7728c3ec 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-0/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index 0608f22b7a7..8f05b42ec7e 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index b1596682d83..91aee67c71c 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index fc609dbdec5..b413fcda67e 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-180/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index a2e2a115230..3d9c543d323 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index cca3349b878..0a83081cf16 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index ffdb1d1b427..eff447cde25 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png
index f500458eeda..827ee7cdabc 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-0-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png
index 4b89f0372df..5b3cf3f7803 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-15-chrome-linux.png differ
diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png
index 9766df4e463..8bc9d8f2b35 100644
Binary files a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png and b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/advanced-markers/annotation-marker-side-top/rotation-negative-90/renders-marker-annotation-within-chart-canvas-metric-30-chrome-linux.png differ
diff --git a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/accessor-formats/should-show-custom-format-chrome-linux.png b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/accessor-formats/should-show-custom-format-chrome-linux.png
index 00fb625921b..a5cb1fd4777 100644
Binary files a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/accessor-formats/should-show-custom-format-chrome-linux.png and b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/accessor-formats/should-show-custom-format-chrome-linux.png differ
diff --git a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/area-with-isolated-data-points/render-correctly-fit-function-chrome-linux.png b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/area-with-isolated-data-points/render-correctly-fit-function-chrome-linux.png
index 3d70abcba06..5231f1b312f 100644
Binary files a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/area-with-isolated-data-points/render-correctly-fit-function-chrome-linux.png and b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/area-with-isolated-data-points/render-correctly-fit-function-chrome-linux.png differ
diff --git a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/negative-log-areas/shows-negative-values-with-log-scale-chrome-linux.png b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/negative-log-areas/shows-negative-values-with-log-scale-chrome-linux.png
index 33d515fc2e0..98590ae7b4f 100644
Binary files a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/negative-log-areas/shows-negative-values-with-log-scale-chrome-linux.png and b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/negative-log-areas/shows-negative-values-with-log-scale-chrome-linux.png differ
diff --git a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/small-multiples-with-log-scale-dont-clip-chrome-linux.png b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/small-multiples-with-log-scale-dont-clip-chrome-linux.png
index 91cb3a6773d..072b9c3f3d2 100644
Binary files a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/small-multiples-with-log-scale-dont-clip-chrome-linux.png and b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/small-multiples-with-log-scale-dont-clip-chrome-linux.png differ
diff --git a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/stacked-as-not-percentage-chrome-linux.png b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/stacked-as-not-percentage-chrome-linux.png
index 94f2e23e54c..9a766577538 100644
Binary files a/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/stacked-as-not-percentage-chrome-linux.png and b/e2e/screenshots/area_stories.test.ts-snapshots/area-series-stories/stacked-as-not-percentage-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/can-show-a-finer-raster-than-the-data-bin-width-if-min-interval-is-expressly-specified-to-be-low-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/can-show-a-finer-raster-than-the-data-bin-width-if-min-interval-is-expressly-specified-to-be-low-chrome-linux.png
index 8720aab504c..11a548f51af 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/can-show-a-finer-raster-than-the-data-bin-width-if-min-interval-is-expressly-specified-to-be-low-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/can-show-a-finer-raster-than-the-data-bin-width-if-min-interval-is-expressly-specified-to-be-low-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/renders-multilayer-time-axis-with-a-single-point-and-a-degenerate-zero-width-domain-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/renders-multilayer-time-axis-with-a-single-point-and-a-degenerate-zero-width-domain-chrome-linux.png
index 1e794563886..54495730b94 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/renders-multilayer-time-axis-with-a-single-point-and-a-degenerate-zero-width-domain-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/renders-multilayer-time-axis-with-a-single-point-and-a-degenerate-zero-width-domain-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/renders-multilayer-time-axis-with-a-single-point-and-an-arbitrary-non-degenerate-domain-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/renders-multilayer-time-axis-with-a-single-point-and-an-arbitrary-non-degenerate-domain-chrome-linux.png
index a3f30cf6cee..a58fcd1af98 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/renders-multilayer-time-axis-with-a-single-point-and-an-arbitrary-non-degenerate-domain-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/renders-multilayer-time-axis-with-a-single-point-and-an-arbitrary-non-degenerate-domain-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-extend-the-domain-on-the-right-with-one-bin-width-with-custom-bin-width-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-extend-the-domain-on-the-right-with-one-bin-width-with-custom-bin-width-chrome-linux.png
index 420ca4f7055..dfcd43991cb 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-extend-the-domain-on-the-right-with-one-bin-width-with-custom-bin-width-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-extend-the-domain-on-the-right-with-one-bin-width-with-custom-bin-width-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-extend-the-domain-on-the-right-with-one-bin-width-without-custom-bin-width-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-extend-the-domain-on-the-right-with-one-bin-width-without-custom-bin-width-chrome-linux.png
index b22b4cf117c..064ec3231e4 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-extend-the-domain-on-the-right-with-one-bin-width-without-custom-bin-width-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-extend-the-domain-on-the-right-with-one-bin-width-without-custom-bin-width-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-have-st-nd-rd-th-after-day-of-month-numbers-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-have-st-nd-rd-th-after-day-of-month-numbers-chrome-linux.png
index 785de3efa1b..90c40147900 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-have-st-nd-rd-th-after-day-of-month-numbers-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-have-st-nd-rd-th-after-day-of-month-numbers-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-have-st-nd-rd-th-after-day-of-month-numbers-even-for-the-20s-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-have-st-nd-rd-th-after-day-of-month-numbers-even-for-the-20s-chrome-linux.png
index be238a252ce..c74cdbb3a1e 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-have-st-nd-rd-th-after-day-of-month-numbers-even-for-the-20s-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-have-st-nd-rd-th-after-day-of-month-numbers-even-for-the-20s-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-hide-consecutive-duplicate-ticks-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-hide-consecutive-duplicate-ticks-chrome-linux.png
index a358f6ea684..9c6b6faf2cc 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-hide-consecutive-duplicate-ticks-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-hide-consecutive-duplicate-ticks-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-not-show-a-raster-that-is-finer-than-the-bin-width-min-interval-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-not-show-a-raster-that-is-finer-than-the-bin-width-min-interval-chrome-linux.png
index cedcfe10b50..bd011066a3b 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-not-show-a-raster-that-is-finer-than-the-bin-width-min-interval-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-not-show-a-raster-that-is-finer-than-the-bin-width-min-interval-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-hour-raster-from-00-00-to-23-59-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-hour-raster-from-00-00-to-23-59-chrome-linux.png
index ca91ca6f7bd..66cf24887be 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-hour-raster-from-00-00-to-23-59-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-hour-raster-from-00-00-to-23-59-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-proper-tick-count-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-proper-tick-count-chrome-linux.png
index c10b106be97..f07b46680da 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-proper-tick-count-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-proper-tick-count-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-proper-tick-count-with-show-overlapping-labels-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-proper-tick-count-with-show-overlapping-labels-chrome-linux.png
index 4e33b340925..f07b46680da 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-proper-tick-count-with-show-overlapping-labels-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-render-proper-tick-count-with-show-overlapping-labels-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-use-a-decades-raster-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-use-a-decades-raster-chrome-linux.png
index 641c8c87fb2..16577f9c5d4 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-use-a-decades-raster-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/should-use-a-decades-raster-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-empty-title-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-empty-title-chrome-linux.png
index 8aca7973dc8..d613a2ca934 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-empty-title-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-empty-title-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-panel-titles-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-panel-titles-chrome-linux.png
index 4504e4a0155..5ee3df52113 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-panel-titles-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-panel-titles-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-title-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-title-chrome-linux.png
index 8aca7973dc8..d613a2ca934 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-title-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-bottom/should-hide-title-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-empty-title-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-empty-title-chrome-linux.png
index 60887512274..dcb1d172768 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-empty-title-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-empty-title-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-panel-titles-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-panel-titles-chrome-linux.png
index f875091f6ae..287b1ca511c 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-panel-titles-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-panel-titles-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-title-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-title-chrome-linux.png
index 60887512274..dcb1d172768 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-title-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-left/should-hide-title-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-empty-title-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-empty-title-chrome-linux.png
index b8680ff2ba3..3c486bbdfb0 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-empty-title-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-empty-title-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-panel-titles-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-panel-titles-chrome-linux.png
index 0d0b4e0d16e..d69a138063d 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-panel-titles-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-panel-titles-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-title-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-title-chrome-linux.png
index b8680ff2ba3..3c486bbdfb0 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-title-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-right/should-hide-title-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-empty-title-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-empty-title-chrome-linux.png
index 223150eeb72..fbe60201d90 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-empty-title-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-empty-title-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-panel-titles-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-panel-titles-chrome-linux.png
index ef3d673923c..7a9183cb274 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-panel-titles-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-panel-titles-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-title-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-title-chrome-linux.png
index 223150eeb72..fbe60201d90 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-title-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/axis-position-top/should-hide-title-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/should-render-four-axes-with-no-gridlines-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/should-render-four-axes-with-no-gridlines-chrome-linux.png
index 35ae7b63c8c..2f9ccc9789d 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/should-render-four-axes-with-no-gridlines-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/should-render-four-axes-with-no-gridlines-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/should-render-four-axes-with-titles-and-panel-titles-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/should-render-four-axes-with-titles-and-panel-titles-chrome-linux.png
index 5b639a4d651..0149d147b38 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/should-render-four-axes-with-titles-and-panel-titles-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/small-multiples/should-render-four-axes-with-titles-and-panel-titles-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/theme-dark/should-switch-to-a-30-minute-raster-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/theme-dark/should-switch-to-a-30-minute-raster-chrome-linux.png
index 0c069ee61a7..3a3c20ff22c 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/theme-dark/should-switch-to-a-30-minute-raster-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/theme-dark/should-switch-to-a-30-minute-raster-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/theme-light/should-switch-to-a-30-minute-raster-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/theme-light/should-switch-to-a-30-minute-raster-chrome-linux.png
index f96fc69a974..2dcfe6cd59f 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/theme-light/should-switch-to-a-30-minute-raster-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/theme-light/should-switch-to-a-30-minute-raster-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/timeslip-multilayer-time-axis/should-shide-start-of-week-label-on-last-month-when-tick-is-outside-extents-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/timeslip-multilayer-time-axis/should-shide-start-of-week-label-on-last-month-when-tick-is-outside-extents-chrome-linux.png
index 447dbf7710a..98e27566626 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/timeslip-multilayer-time-axis/should-shide-start-of-week-label-on-last-month-when-tick-is-outside-extents-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/timeslip-multilayer-time-axis/should-shide-start-of-week-label-on-last-month-when-tick-is-outside-extents-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/timeslip-multilayer-time-axis/should-show-start-of-week-label-on-last-month-when-tick-is-inside-extents-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/timeslip-multilayer-time-axis/should-show-start-of-week-label-on-last-month-when-tick-is-inside-extents-chrome-linux.png
index 45d973162fa..b0becdd2744 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/timeslip-multilayer-time-axis/should-show-start-of-week-label-on-last-month-when-tick-is-inside-extents-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/timeslip-multilayer-time-axis/should-show-start-of-week-label-on-last-month-when-tick-is-inside-extents-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-daily-resolution-10th-25th-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-daily-resolution-10th-25th-chrome-linux.png
index bd715566c51..9a4ed48317e 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-daily-resolution-10th-25th-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-daily-resolution-10th-25th-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-daily-resolution-30th-14th-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-daily-resolution-30th-14th-chrome-linux.png
index 98ae9d582b1..1b8611ee0fe 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-daily-resolution-30th-14th-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-daily-resolution-30th-14th-chrome-linux.png differ
diff --git a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-weekly-resolution-chrome-linux.png b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-weekly-resolution-chrome-linux.png
index 46bcec1f996..80df2535d6a 100644
Binary files a/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-weekly-resolution-chrome-linux.png and b/e2e/screenshots/axis_stories.test.ts-snapshots/axis-stories/uses-proper-english-ending-at-a-weekly-resolution-chrome-linux.png differ
diff --git a/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/functional-accessors/y-1accessors-and-y-0accessors-chrome-linux.png b/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/functional-accessors/y-1accessors-and-y-0accessors-chrome-linux.png
index 8be15041080..4c351c50d94 100644
Binary files a/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/functional-accessors/y-1accessors-and-y-0accessors-chrome-linux.png and b/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/functional-accessors/y-1accessors-and-y-0accessors-chrome-linux.png differ
diff --git a/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/should-sort-legend-independent-from-render-sort-chrome-linux.png b/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/should-sort-legend-independent-from-render-sort-chrome-linux.png
index 909ed5bbe3e..9994ce0d847 100644
Binary files a/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/should-sort-legend-independent-from-render-sort-chrome-linux.png and b/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/should-sort-legend-independent-from-render-sort-chrome-linux.png differ
diff --git a/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/test-axis-positions-with-histogram-bar-series/should-render-correct-axis-rotation-0-chrome-linux.png b/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/test-axis-positions-with-histogram-bar-series/should-render-correct-axis-rotation-0-chrome-linux.png
index 03e63805dc5..b92513600f6 100644
Binary files a/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/test-axis-positions-with-histogram-bar-series/should-render-correct-axis-rotation-0-chrome-linux.png and b/e2e/screenshots/bar_stories.test.ts-snapshots/bar-series-stories/test-axis-positions-with-histogram-bar-series/should-render-correct-axis-rotation-0-chrome-linux.png differ
diff --git a/e2e/screenshots/chart.test.ts-snapshots/chart/sizing/should-render-multiple-charts-with-titles-chrome-linux.png b/e2e/screenshots/chart.test.ts-snapshots/chart/sizing/should-render-multiple-charts-with-titles-chrome-linux.png
index c3cadcedb47..f4dd21c26dc 100644
Binary files a/e2e/screenshots/chart.test.ts-snapshots/chart/sizing/should-render-multiple-charts-with-titles-chrome-linux.png and b/e2e/screenshots/chart.test.ts-snapshots/chart/sizing/should-render-multiple-charts-with-titles-chrome-linux.png differ
diff --git a/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/hide-tooltip-if-configured-chrome-linux.png b/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/hide-tooltip-if-configured-chrome-linux.png
index 6e7397e9cd8..99e81ccfa2b 100644
Binary files a/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/hide-tooltip-if-configured-chrome-linux.png and b/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/hide-tooltip-if-configured-chrome-linux.png differ
diff --git a/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/show-n-a-tooltip-for-areas-chrome-linux.png b/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/show-n-a-tooltip-for-areas-chrome-linux.png
index 832d79f7a23..451955b33c9 100644
Binary files a/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/show-n-a-tooltip-for-areas-chrome-linux.png and b/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/show-n-a-tooltip-for-areas-chrome-linux.png differ
diff --git a/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/show-n-a-tooltip-for-bars-chrome-linux.png b/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/show-n-a-tooltip-for-bars-chrome-linux.png
index 677531487b5..b467686c519 100644
Binary files a/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/show-n-a-tooltip-for-bars-chrome-linux.png and b/e2e/screenshots/interactions.test.ts-snapshots/interactions/should-show-null-values-in-tooltip-if-configured/show-n-a-tooltip-for-bars-chrome-linux.png differ
diff --git a/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-crosshairs-chrome-linux.png b/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-crosshairs-chrome-linux.png
index 0b09825fc0d..05bcff099ad 100644
Binary files a/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-crosshairs-chrome-linux.png and b/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-crosshairs-chrome-linux.png differ
diff --git a/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-extra-values-in-legend-chrome-linux.png b/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-extra-values-in-legend-chrome-linux.png
index 86069ca3d42..852dbcce174 100644
Binary files a/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-extra-values-in-legend-chrome-linux.png and b/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-extra-values-in-legend-chrome-linux.png differ
diff --git a/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-tooltips-chrome-linux.png b/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-tooltips-chrome-linux.png
index 15ed612c7e1..2c3c8b9d6b2 100644
Binary files a/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-tooltips-chrome-linux.png and b/e2e/screenshots/interactions.test.ts-snapshots/interactions/tooltip-sync/show-synced-tooltips-chrome-linux.png differ
diff --git a/e2e/screenshots/legend_stories.test.ts-snapshots/legend-stories/should-adjust-legend-width-for-scrollbar-chrome-linux.png b/e2e/screenshots/legend_stories.test.ts-snapshots/legend-stories/should-adjust-legend-width-for-scrollbar-chrome-linux.png
index c03c41aeee5..52b519d735f 100644
Binary files a/e2e/screenshots/legend_stories.test.ts-snapshots/legend-stories/should-adjust-legend-width-for-scrollbar-chrome-linux.png and b/e2e/screenshots/legend_stories.test.ts-snapshots/legend-stories/should-adjust-legend-width-for-scrollbar-chrome-linux.png differ
diff --git a/e2e/screenshots/line_stories.test.ts-snapshots/line-series-stories/points-auto-visibility/hide-points-when-space-between-point-is-small-chrome-linux.png b/e2e/screenshots/line_stories.test.ts-snapshots/line-series-stories/points-auto-visibility/hide-points-when-space-between-point-is-small-chrome-linux.png
index 51324acfd3f..fdd2dfe8d26 100644
Binary files a/e2e/screenshots/line_stories.test.ts-snapshots/line-series-stories/points-auto-visibility/hide-points-when-space-between-point-is-small-chrome-linux.png and b/e2e/screenshots/line_stories.test.ts-snapshots/line-series-stories/points-auto-visibility/hide-points-when-space-between-point-is-small-chrome-linux.png differ
diff --git a/e2e/screenshots/line_stories.test.ts-snapshots/line-series-stories/points-auto-visibility/show-points-when-space-between-point-is-enough-chrome-linux.png b/e2e/screenshots/line_stories.test.ts-snapshots/line-series-stories/points-auto-visibility/show-points-when-space-between-point-is-enough-chrome-linux.png
index 4d723b959f7..d1532027e2f 100644
Binary files a/e2e/screenshots/line_stories.test.ts-snapshots/line-series-stories/points-auto-visibility/show-points-when-space-between-point-is-enough-chrome-linux.png and b/e2e/screenshots/line_stories.test.ts-snapshots/line-series-stories/points-auto-visibility/show-points-when-space-between-point-is-enough-chrome-linux.png differ
diff --git a/e2e/screenshots/stylings_stories.test.ts-snapshots/stylings-stories/highlight-style-and-point-buffer-chrome-linux.png b/e2e/screenshots/stylings_stories.test.ts-snapshots/stylings-stories/highlight-style-and-point-buffer-chrome-linux.png
index 64d65da8afb..e0f7a3c5bdf 100644
Binary files a/e2e/screenshots/stylings_stories.test.ts-snapshots/stylings-stories/highlight-style-and-point-buffer-chrome-linux.png and b/e2e/screenshots/stylings_stories.test.ts-snapshots/stylings-stories/highlight-style-and-point-buffer-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-disable-isolated-point-styles-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-disable-isolated-point-styles-chrome-linux.png
index d0398452aee..07ae3bb9825 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-disable-isolated-point-styles-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-disable-isolated-point-styles-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-all-point-styles-with-point-accessor-styles-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-all-point-styles-with-point-accessor-styles-chrome-linux.png
index 48c2c933811..7e063172cd0 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-all-point-styles-with-point-accessor-styles-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-all-point-styles-with-point-accessor-styles-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-theme-and-series-point-styles-with-iso-point-styles-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-theme-and-series-point-styles-with-iso-point-styles-chrome-linux.png
index 06f11e974e4..8a1f4b57bf6 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-theme-and-series-point-styles-with-iso-point-styles-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-theme-and-series-point-styles-with-iso-point-styles-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-theme-point-and-iso-point-styles-with-series-styles-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-theme-point-and-iso-point-styles-with-series-styles-chrome-linux.png
index 5b1e079e09b..b27f3e8013a 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-theme-point-and-iso-point-styles-with-series-styles-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/isolated-point-styles/should-override-theme-point-and-iso-point-styles-with-series-styles-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-1ms-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-1ms-chrome-linux.png
index 1b1f1253a9a..0b55fb8efe3 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-1ms-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-1ms-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-domain-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-domain-chrome-linux.png
index 0a93dc80312..32f0200a301 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-domain-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-domain-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-empty-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-empty-chrome-linux.png
index 10b2b3248fb..b08d7b45745 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-empty-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/custom-empty-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/data-domain-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/data-domain-chrome-linux.png
index 17368ba8724..e6c46efe939 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/data-domain-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/legend-last-value-should-be-aligned-across-areas-and-bars/data-domain-chrome-linux.png differ
diff --git a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/start-day-of-week/should-correctly-render-histogram-with-start-of-week-as-sunday-chrome-linux.png b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/start-day-of-week/should-correctly-render-histogram-with-start-of-week-as-sunday-chrome-linux.png
index fcd19b55389..c26cbc08b0b 100644
Binary files a/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/start-day-of-week/should-correctly-render-histogram-with-start-of-week-as-sunday-chrome-linux.png and b/e2e/screenshots/test_cases_stories.test.ts-snapshots/test-cases-stories/start-day-of-week/should-correctly-render-histogram-with-start-of-week-as-sunday-chrome-linux.png differ
diff --git a/e2e/screenshots/timezone.test.ts-snapshots/time-zone/timezone-america-new-york/use-default-local-timezone-america-new-york-chrome-linux.png b/e2e/screenshots/timezone.test.ts-snapshots/time-zone/timezone-america-new-york/use-default-local-timezone-america-new-york-chrome-linux.png
index 78a1f1bbe3e..a5b5e004e77 100644
Binary files a/e2e/screenshots/timezone.test.ts-snapshots/time-zone/timezone-america-new-york/use-default-local-timezone-america-new-york-chrome-linux.png and b/e2e/screenshots/timezone.test.ts-snapshots/time-zone/timezone-america-new-york/use-default-local-timezone-america-new-york-chrome-linux.png differ
diff --git a/e2e/screenshots/timezone.test.ts-snapshots/time-zone/timezone-europe-rome/use-default-local-timezone-europe-rome-chrome-linux.png b/e2e/screenshots/timezone.test.ts-snapshots/time-zone/timezone-europe-rome/use-default-local-timezone-europe-rome-chrome-linux.png
index 72b9468132d..8823482a3ce 100644
Binary files a/e2e/screenshots/timezone.test.ts-snapshots/time-zone/timezone-europe-rome/use-default-local-timezone-europe-rome-chrome-linux.png and b/e2e/screenshots/timezone.test.ts-snapshots/time-zone/timezone-europe-rome/use-default-local-timezone-europe-rome-chrome-linux.png differ
diff --git a/e2e/screenshots/timezone.test.ts-snapshots/time-zone/utc-minus-8-chrome-linux.png b/e2e/screenshots/timezone.test.ts-snapshots/time-zone/utc-minus-8-chrome-linux.png
index 292707120de..f5f45945c2c 100644
Binary files a/e2e/screenshots/timezone.test.ts-snapshots/time-zone/utc-minus-8-chrome-linux.png and b/e2e/screenshots/timezone.test.ts-snapshots/time-zone/utc-minus-8-chrome-linux.png differ
diff --git a/e2e/screenshots/timezone.test.ts-snapshots/time-zone/utc-plus-8-chrome-linux.png b/e2e/screenshots/timezone.test.ts-snapshots/time-zone/utc-plus-8-chrome-linux.png
index 00765a25c55..7131e883e07 100644
Binary files a/e2e/screenshots/timezone.test.ts-snapshots/time-zone/utc-plus-8-chrome-linux.png and b/e2e/screenshots/timezone.test.ts-snapshots/time-zone/utc-plus-8-chrome-linux.png differ
diff --git a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/pinning-over-selection-chrome-linux.png b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/pinning-over-selection-chrome-linux.png
index 7743f7baec0..496e63ca6a3 100644
Binary files a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/pinning-over-selection-chrome-linux.png and b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/pinning-over-selection-chrome-linux.png differ
diff --git a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/pinning-without-selection-chrome-linux.png b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/pinning-without-selection-chrome-linux.png
index 31d4c83ed91..e90067881d7 100644
Binary files a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/pinning-without-selection-chrome-linux.png and b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/pinning-without-selection-chrome-linux.png differ
diff --git a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/selecting-series-on-pinned-tooltip-async-chrome-linux.png b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/selecting-series-on-pinned-tooltip-async-chrome-linux.png
index b60609b55ad..3e3796f6ef5 100644
Binary files a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/selecting-series-on-pinned-tooltip-async-chrome-linux.png and b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/selecting-series-on-pinned-tooltip-async-chrome-linux.png differ
diff --git a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/selecting-series-on-pinned-tooltip-chrome-linux.png b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/selecting-series-on-pinned-tooltip-chrome-linux.png
index d4dc4077606..db0deedfae2 100644
Binary files a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/selecting-series-on-pinned-tooltip-chrome-linux.png and b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/selecting-series-on-pinned-tooltip-chrome-linux.png differ
diff --git a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/show-loading-prompt-for-async-actions-chrome-linux.png b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/show-loading-prompt-for-async-actions-chrome-linux.png
index 367426b3fde..ff97aa33dbb 100644
Binary files a/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/show-loading-prompt-for-async-actions-chrome-linux.png and b/e2e/screenshots/tooltip.test.ts-snapshots/tooltip/chart-types/cartesian/show-loading-prompt-for-async-actions-chrome-linux.png differ
diff --git a/packages/charts/src/chart_types/xy_chart/axes/axes_sizes.ts b/packages/charts/src/chart_types/xy_chart/axes/axes_sizes.ts
index c384ee59446..f1879f6864f 100644
--- a/packages/charts/src/chart_types/xy_chart/axes/axes_sizes.ts
+++ b/packages/charts/src/chart_types/xy_chart/axes/axes_sizes.ts
@@ -6,7 +6,9 @@
* Side Public License, v 1.
*/
+import type { ScaleType } from '../../../scales/constants';
import type { SmallMultiplesSpec } from '../../../specs';
+import type { Rotation } from '../../../utils/common';
import { Position } from '../../../utils/common';
import type { PerSideDistance } from '../../../utils/dimensions';
import { innerPad, outerPad } from '../../../utils/dimensions';
@@ -16,7 +18,7 @@ import type { AxesTicksDimensions } from '../state/selectors/compute_axis_ticks_
import { getSpecsById } from '../state/utils/spec';
import { isHorizontalAxis, isVerticalAxis } from '../utils/axis_type_utils';
import type { TickLabelBounds } from '../utils/axis_utils';
-import { getAllAxisLayersGirth, getTitleDimension, shouldShowTicks } from '../utils/axis_utils';
+import { getAllAxisLayersGirth, getTitleDimension, isMultilayerTimeAxis, shouldShowTicks } from '../utils/axis_utils';
import type { AxisSpec } from '../utils/specs';
const getAxisSizeForLabel = (
@@ -25,11 +27,12 @@ const getAxisSizeForLabel = (
axesStyles: Map,
{ maxLabelBboxWidth = 0, maxLabelBboxHeight = 0 }: TickLabelBounds,
smSpec: SmallMultiplesSpec | null,
+ multilayerTimeAxis: boolean,
) => {
const { tickLine, axisTitle, axisPanelTitle, tickLabel } = axesStyles.get(axisSpec.id) ?? sharedAxesStyles;
const horizontal = isHorizontalAxis(axisSpec.position);
const maxLabelBoxGirth = horizontal ? maxLabelBboxHeight : maxLabelBboxWidth;
- const allLayersGirth = getAllAxisLayersGirth(axisSpec.timeAxisLayerCount, maxLabelBoxGirth, horizontal);
+ const allLayersGirth = getAllAxisLayersGirth(axisSpec.timeAxisLayerCount, maxLabelBoxGirth, multilayerTimeAxis);
const hasPanelTitle = isVerticalAxis(axisSpec.position) ? smSpec?.splitVertically : smSpec?.splitHorizontally;
const panelTitleDimension = hasPanelTitle ? getTitleDimension(axisPanelTitle) : 0;
const titleDimension = axisSpec.title ? getTitleDimension(axisTitle) : 0;
@@ -41,7 +44,7 @@ const getAxisSizeForLabel = (
// don't overflow when the multiTimeAxis layer is used.
const maxLabelBoxHalfLength = isVerticalAxis(axisSpec.position)
? maxLabelBboxHeight / 2
- : axisSpec.timeAxisLayerCount > 0
+ : multilayerTimeAxis
? 0
: maxLabelBboxWidth / 2;
return horizontal
@@ -66,13 +69,23 @@ export function getAxesDimensions(
axesStyles: Map,
axisSpecs: AxisSpec[],
smSpec: SmallMultiplesSpec | null,
+ xScaleType: ScaleType,
+ rotation: Rotation,
): PerSideDistance & { margin: { left: number } } {
const sizes = [...axisDimensions].reduce(
(acc, [id, tickLabelBounds]) => {
const axisSpec = getSpecsById(axisSpecs, id);
if (tickLabelBounds.isHidden || !axisSpec) return acc;
+ const multilayerTimeAxis = isMultilayerTimeAxis(axisSpec, xScaleType, rotation);
// TODO use first and last labels
- const { top, bottom, left, right } = getAxisSizeForLabel(axisSpec, theme, axesStyles, tickLabelBounds, smSpec);
+ const { top, bottom, left, right } = getAxisSizeForLabel(
+ axisSpec,
+ theme,
+ axesStyles,
+ tickLabelBounds,
+ smSpec,
+ multilayerTimeAxis,
+ );
if (isVerticalAxis(axisSpec.position)) {
acc.axisLabelOverflow.top = Math.max(acc.axisLabelOverflow.top, top);
acc.axisLabelOverflow.bottom = Math.max(acc.axisLabelOverflow.bottom, bottom);
diff --git a/packages/charts/src/chart_types/xy_chart/legend/legend.test.ts b/packages/charts/src/chart_types/xy_chart/legend/legend.test.ts
index d908a7648d6..d3f95c9a8f1 100644
--- a/packages/charts/src/chart_types/xy_chart/legend/legend.test.ts
+++ b/packages/charts/src/chart_types/xy_chart/legend/legend.test.ts
@@ -71,7 +71,7 @@ const axisSpec: AxisSpec = {
position: Position.Left,
style,
tickFormat: (value: any) => `${value}`,
- timeAxisLayerCount: 0,
+ timeAxisLayerCount: 2,
};
axesSpecs.push(axisSpec);
diff --git a/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/axis_props.ts b/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/axis_props.ts
index a42c99c4db2..2434df64097 100644
--- a/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/axis_props.ts
+++ b/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/axis_props.ts
@@ -27,6 +27,7 @@ export interface AxisProps {
debug: boolean;
renderingArea: Dimensions;
layerGirth: number;
+ multilayerTimeAxis: boolean;
}
/** @internal */
diff --git a/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/tick.ts b/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/tick.ts
index e879edbbcce..a79eb79d86f 100644
--- a/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/tick.ts
+++ b/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/tick.ts
@@ -31,16 +31,12 @@ export function renderTicks(ctx: CanvasRenderingContext2D, ticks: AxisTick[], ax
}
function getTickLineCoordinates(
- { position, domainClampedPosition: tickPosition, layer, detailedLayer }: AxisTick,
- {
- axisSpec: { position: axisPosition, timeAxisLayerCount },
- size: { width, height },
- axisStyle: { tickLine },
- layerGirth,
- }: AxisProps,
+ { position, domainClampedPosition: tickPosition, layer, detailedLayer, multilayerTimeAxis }: AxisTick,
+ { axisSpec, size: { width, height }, axisStyle: { tickLine }, layerGirth }: AxisProps,
): Line | undefined {
if (Math.abs(tickPosition - position) > OUTSIDE_RANGE_TOLERANCE) return;
- const tickOnTheSide = timeAxisLayerCount > 0 && typeof layer === 'number';
+ const { position: axisPosition } = axisSpec;
+ const tickOnTheSide = multilayerTimeAxis && typeof layer === 'number';
const extensionLayer = tickOnTheSide ? layer + 1 : 0;
const tickSize =
tickLine.size +
diff --git a/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/tick_label.ts b/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/tick_label.ts
index 2307308310f..464c2ee1464 100644
--- a/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/tick_label.ts
+++ b/packages/charts/src/chart_types/xy_chart/renderer/canvas/axes/tick_label.ts
@@ -20,9 +20,10 @@ export function renderTickLabel(
ctx: CanvasRenderingContext2D,
tick: AxisTick,
showTicks: boolean,
- { axisSpec: { position, timeAxisLayerCount }, dimension, size, debug, axisStyle }: AxisProps,
+ { axisSpec, dimension, size, debug, axisStyle }: AxisProps,
layerGirth: number,
) {
+ const { position } = axisSpec;
const labelStyle = axisStyle.tickLabel;
const tickLabelProps = getTickLabelPosition(
axisStyle,
@@ -48,7 +49,7 @@ export function renderTickLabel(
}
}
- const tickOnTheSide = timeAxisLayerCount > 0 && Number.isFinite(tick.layer);
+ const tickOnTheSide = tick.multilayerTimeAxis && Number.isFinite(tick.layer);
renderText(
ctx,
diff --git a/packages/charts/src/chart_types/xy_chart/renderer/canvas/panels/panels.ts b/packages/charts/src/chart_types/xy_chart/renderer/canvas/panels/panels.ts
index 7d06f1556e3..29affcfae8f 100644
--- a/packages/charts/src/chart_types/xy_chart/renderer/canvas/panels/panels.ts
+++ b/packages/charts/src/chart_types/xy_chart/renderer/canvas/panels/panels.ts
@@ -35,7 +35,7 @@ export function renderGridPanels(ctx: CanvasRenderingContext2D, { x: chartX, y:
}
function renderPanel(ctx: CanvasRenderingContext2D, props: AxisProps, locale: string) {
- const { size, anchorPoint, debug, axisStyle, axisSpec, panelAnchor, secondary } = props;
+ const { size, anchorPoint, debug, axisStyle, axisSpec, panelAnchor, secondary, multilayerTimeAxis } = props;
const { position } = axisSpec;
const x = anchorPoint.x + (position === Position.Right ? -1 : 1) * panelAnchor.x;
const y = anchorPoint.y + (position === Position.Bottom ? -1 : 1) * panelAnchor.y;
@@ -49,7 +49,16 @@ function renderPanel(ctx: CanvasRenderingContext2D, props: AxisProps, locale: st
renderTitle(
ctx,
true,
- { panelTitle, axisSpec, axisStyle, size, dimension, debug, anchorPoint: { x: 0, y: 0 } },
+ {
+ panelTitle,
+ axisSpec,
+ axisStyle,
+ size,
+ multilayerTimeAxis,
+ dimension,
+ debug,
+ anchorPoint: { x: 0, y: 0 },
+ },
locale,
); // TODO: should we use the axisSpec/Style for the title of small multiple or use their own style?
}
@@ -64,7 +73,7 @@ export function renderPanelSubstrates(ctx: CanvasRenderingContext2D, props: Axes
perPanelAxisGeoms.forEach(({ axesGeoms, panelAnchor }) => {
axesGeoms.forEach((geometry) => {
const {
- axis: { panelTitle, id, position, secondary },
+ axis: { panelTitle, id, position, secondary, multilayerTimeAxis },
anchorPoint,
size,
dimension,
@@ -84,7 +93,16 @@ export function renderPanelSubstrates(ctx: CanvasRenderingContext2D, props: Axes
renderTitle(
ctx,
false,
- { size: parentSize, debug, panelTitle, anchorPoint, dimension, axisStyle, axisSpec },
+ {
+ size: parentSize,
+ debug,
+ panelTitle,
+ anchorPoint,
+ dimension,
+ axisStyle,
+ axisSpec,
+ multilayerTimeAxis,
+ },
locale,
);
}
@@ -106,6 +124,7 @@ export function renderPanelSubstrates(ctx: CanvasRenderingContext2D, props: Axes
debug,
renderingArea,
layerGirth,
+ multilayerTimeAxis,
},
locale,
);
diff --git a/packages/charts/src/chart_types/xy_chart/renderer/canvas/panels/title.ts b/packages/charts/src/chart_types/xy_chart/renderer/canvas/panels/title.ts
index 1a1dc226cc8..49d7da78df4 100644
--- a/packages/charts/src/chart_types/xy_chart/renderer/canvas/panels/title.ts
+++ b/packages/charts/src/chart_types/xy_chart/renderer/canvas/panels/title.ts
@@ -18,7 +18,10 @@ import { isHorizontalAxis } from '../../../utils/axis_type_utils';
import { getAllAxisLayersGirth, getTitleDimension, shouldShowTicks } from '../../../utils/axis_utils';
import type { AxisProps } from '../axes/axis_props';
-type PanelTitleProps = Pick;
+type PanelTitleProps = Pick<
+ AxisProps,
+ 'panelTitle' | 'axisSpec' | 'axisStyle' | 'size' | 'dimension' | 'debug' | 'multilayerTimeAxis'
+>;
type TitleProps = PanelTitleProps & { anchorPoint: Point };
const titleFontDefaults: Omit = {
@@ -36,14 +39,16 @@ export function renderTitle(
{
size: { width, height },
dimension: { maxLabelBboxWidth, maxLabelBboxHeight },
- axisSpec: { position, hide: hideAxis, title, timeAxisLayerCount },
+ axisSpec,
axisStyle: { axisPanelTitle, axisTitle, tickLabel, tickLine },
panelTitle,
debug,
anchorPoint,
+ multilayerTimeAxis,
}: TitleProps,
locale: string,
) {
+ const { position, hide: hideAxis, title, timeAxisLayerCount } = axisSpec;
const titleToRender = panel ? panelTitle : title;
const axisTitleToUse = panel ? axisPanelTitle : axisTitle;
if (!titleToRender || !axisTitleToUse.visible) {
@@ -55,7 +60,7 @@ export function renderTitle(
const font: TextFont = { ...titleFontDefaults, ...axisTitleToUse, textColor: axisTitleToUse.fill };
const tickDimension = shouldShowTicks(tickLine, hideAxis) ? tickLine.size + tickLine.padding : 0;
const maxLabelBoxGirth = horizontal ? maxLabelBboxHeight : maxLabelBboxWidth;
- const allLayersGirth = getAllAxisLayersGirth(timeAxisLayerCount, maxLabelBoxGirth, horizontal);
+ const allLayersGirth = getAllAxisLayersGirth(timeAxisLayerCount, maxLabelBoxGirth, multilayerTimeAxis);
const labelPaddingSum = innerPad(tickLabel.padding) + outerPad(tickLabel.padding);
const labelSize = tickLabel.visible ? allLayersGirth + labelPaddingSum : 0;
const otherTitleDimension = otherTitle ? getTitleDimension(otherAxisTitleToUse) : 0;
diff --git a/packages/charts/src/chart_types/xy_chart/specs/axis.ts b/packages/charts/src/chart_types/xy_chart/specs/axis.ts
index 860a3f4e868..ae1b87c52d4 100644
--- a/packages/charts/src/chart_types/xy_chart/specs/axis.ts
+++ b/packages/charts/src/chart_types/xy_chart/specs/axis.ts
@@ -30,7 +30,7 @@ export const Axis = specComponentFactory()(
showOverlappingTicks: false,
showOverlappingLabels: false,
position: Position.Left,
- timeAxisLayerCount: 0,
+ timeAxisLayerCount: 2,
},
);
diff --git a/packages/charts/src/chart_types/xy_chart/specs/bar_series.ts b/packages/charts/src/chart_types/xy_chart/specs/bar_series.ts
index bfc9b79f277..a4c17aacbf8 100644
--- a/packages/charts/src/chart_types/xy_chart/specs/bar_series.ts
+++ b/packages/charts/src/chart_types/xy_chart/specs/bar_series.ts
@@ -47,7 +47,14 @@ export const BarSeries = function (
>,
) {
const { defaults, overrides } = buildProps;
- useSpecFactory>({ ...defaults, ...stripUndefined(props), ...overrides });
+ const constraints: Pick = {};
+
+ // enable histogram mode for time scales to align with the multi-layer time axis.
+ if (props.xScaleType === ScaleType.Time) {
+ constraints.enableHistogramMode = true;
+ }
+
+ useSpecFactory>({ ...defaults, ...stripUndefined(props), ...overrides, ...constraints });
return null;
};
diff --git a/packages/charts/src/chart_types/xy_chart/state/chart_state.interactions.test.tsx b/packages/charts/src/chart_types/xy_chart/state/chart_state.interactions.test.tsx
index c5aa74faa68..9f9dec56362 100644
--- a/packages/charts/src/chart_types/xy_chart/state/chart_state.interactions.test.tsx
+++ b/packages/charts/src/chart_types/xy_chart/state/chart_state.interactions.test.tsx
@@ -767,7 +767,7 @@ describe('Chart state pointer interactions', () => {
showOverlappingLabels: false,
showOverlappingTicks: false,
style,
- timeAxisLayerCount: 0,
+ timeAxisLayerCount: 2,
};
bottomAxis = {
chartType: ChartType.XYAxis,
@@ -780,7 +780,7 @@ describe('Chart state pointer interactions', () => {
showOverlappingLabels: false,
showOverlappingTicks: false,
style,
- timeAxisLayerCount: 0,
+ timeAxisLayerCount: 2,
};
currentSettingSpec = getSettingsSpecSelector(store.getState());
});
diff --git a/packages/charts/src/chart_types/xy_chart/state/selectors/compute_axes_geometries.ts b/packages/charts/src/chart_types/xy_chart/state/selectors/compute_axes_geometries.ts
index b1b5a0cc898..dbfbe9ebf1f 100644
--- a/packages/charts/src/chart_types/xy_chart/state/selectors/compute_axes_geometries.ts
+++ b/packages/charts/src/chart_types/xy_chart/state/selectors/compute_axes_geometries.ts
@@ -7,12 +7,14 @@
*/
import { computeChartDimensionsSelector } from './compute_chart_dimensions';
+import { getScaleConfigsFromSpecsSelector } from './get_api_scale_configs';
import { getAxesStylesSelector } from './get_axis_styles';
import { axisSpecsLookupSelector } from './get_specs';
import { getVisibleTickSetsSelector } from './visible_ticks';
import { createCustomCachedSelector } from '../../../../state/create_selector';
import { computeSmallMultipleScalesSelector } from '../../../../state/selectors/compute_small_multiple_scales';
import { getChartThemeSelector } from '../../../../state/selectors/get_chart_theme';
+import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_spec';
import { getAxesGeometries } from '../../utils/axis_utils';
/** @internal */
@@ -24,6 +26,8 @@ export const computeAxesGeometriesSelector = createCustomCachedSelector(
getAxesStylesSelector,
computeSmallMultipleScalesSelector,
getVisibleTickSetsSelector,
+ getScaleConfigsFromSpecsSelector,
+ getSettingsSpecSelector,
],
getAxesGeometries,
);
diff --git a/packages/charts/src/chart_types/xy_chart/state/selectors/compute_chart_dimensions.ts b/packages/charts/src/chart_types/xy_chart/state/selectors/compute_chart_dimensions.ts
index d33379802cd..bfc04f121f2 100644
--- a/packages/charts/src/chart_types/xy_chart/state/selectors/compute_chart_dimensions.ts
+++ b/packages/charts/src/chart_types/xy_chart/state/selectors/compute_chart_dimensions.ts
@@ -7,11 +7,13 @@
*/
import { computeAxisTicksDimensionsSelector } from './compute_axis_ticks_dimensions';
+import { getScaleConfigsFromSpecsSelector } from './get_api_scale_configs';
import { getAxesStylesSelector } from './get_axis_styles';
import { getAxisSpecsSelector } from './get_specs';
import { createCustomCachedSelector } from '../../../../state/create_selector';
import { getChartContainerDimensionsSelector } from '../../../../state/selectors/get_chart_container_dimensions';
import { getChartThemeSelector } from '../../../../state/selectors/get_chart_theme';
+import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_spec';
import { getSmallMultiplesSpec } from '../../../../state/selectors/get_small_multiples_spec';
import { computeChartDimensions } from '../../utils/dimensions';
@@ -24,6 +26,8 @@ export const computeChartDimensionsSelector = createCustomCachedSelector(
getAxesStylesSelector,
getAxisSpecsSelector,
getSmallMultiplesSpec,
+ getScaleConfigsFromSpecsSelector,
+ getSettingsSpecSelector,
],
computeChartDimensions,
);
diff --git a/packages/charts/src/chart_types/xy_chart/state/selectors/get_axis_styles.ts b/packages/charts/src/chart_types/xy_chart/state/selectors/get_axis_styles.ts
index 65b229fb03b..6bafecdfd07 100644
--- a/packages/charts/src/chart_types/xy_chart/state/selectors/get_axis_styles.ts
+++ b/packages/charts/src/chart_types/xy_chart/state/selectors/get_axis_styles.ts
@@ -6,20 +6,55 @@
* Side Public License, v 1.
*/
+import { getScaleConfigsFromSpecsSelector } from './get_api_scale_configs';
import { getAxisSpecsSelector } from './get_specs';
import { createCustomCachedSelector } from '../../../../state/create_selector';
import { getChartThemeSelector } from '../../../../state/selectors/get_chart_theme';
-import { mergePartial } from '../../../../utils/common';
+import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_spec';
+import type { RecursivePartial } from '../../../../utils/common';
+import { mergePartial, Position } from '../../../../utils/common';
import type { AxisId } from '../../../../utils/ids';
import type { AxisStyle } from '../../../../utils/themes/theme';
import { isVerticalAxis } from '../../utils/axis_type_utils';
+import { isMultilayerTimeAxis } from '../../utils/axis_utils';
+
+const MULTILAYER_TIME_AXIS_STYLE: RecursivePartial = {
+ tickLabel: {
+ visible: true,
+ padding: 0,
+ rotation: 0,
+ alignment: {
+ vertical: Position.Bottom,
+ horizontal: Position.Left,
+ },
+ },
+ tickLine: {
+ visible: true,
+ size: 0,
+ padding: 4,
+ },
+};
/** @internal */
export const getAxesStylesSelector = createCustomCachedSelector(
- [getAxisSpecsSelector, getChartThemeSelector],
- (axesSpecs, { axes: sharedAxesStyle }): Map =>
- axesSpecs.reduce((axesStyles, { id, style, gridLine, position }) => {
- const gridStyle = gridLine && { gridLine: { [isVerticalAxis(position) ? 'vertical' : 'horizontal']: gridLine } };
- return axesStyles.set(id, style ? mergePartial(sharedAxesStyle, { ...style, ...gridStyle }) : null);
+ [getAxisSpecsSelector, getChartThemeSelector, getScaleConfigsFromSpecsSelector, getSettingsSpecSelector],
+ (axesSpecs, { axes: sharedAxesStyle }, scaleConfigs, settingsSpec): Map =>
+ axesSpecs.reduce((axesStyles, axisSpec) => {
+ const { id, position, style, gridLine } = axisSpec;
+ let mergedStyle: AxisStyle | null = null;
+
+ // apply multilayer time axis style to xy charts with time on the x axis.
+ if (isMultilayerTimeAxis(axisSpec, scaleConfigs.x.type, settingsSpec.rotation)) {
+ mergedStyle = mergePartial(sharedAxesStyle, MULTILAYER_TIME_AXIS_STYLE);
+ }
+
+ if (style) {
+ const gridStyle = gridLine && {
+ gridLine: { [isVerticalAxis(position) ? 'vertical' : 'horizontal']: gridLine },
+ };
+ mergedStyle = mergePartial(mergedStyle ?? sharedAxesStyle, { ...style, ...gridStyle });
+ }
+
+ return axesStyles.set(id, mergedStyle);
}, new Map()),
);
diff --git a/packages/charts/src/chart_types/xy_chart/state/selectors/visible_ticks.ts b/packages/charts/src/chart_types/xy_chart/state/selectors/visible_ticks.ts
index ecce0043887..f4ea2e14f09 100644
--- a/packages/charts/src/chart_types/xy_chart/state/selectors/visible_ticks.ts
+++ b/packages/charts/src/chart_types/xy_chart/state/selectors/visible_ticks.ts
@@ -11,6 +11,8 @@ import type { JoinedAxisData } from './compute_axis_ticks_dimensions';
import { getJoinedVisibleAxesData, getLabelBox } from './compute_axis_ticks_dimensions';
import { computeSeriesDomainsSelector } from './compute_series_domains';
import { countBarsInClusterSelector } from './count_bars_in_cluster';
+import type { ScaleConfigs } from './get_api_scale_configs';
+import { getScaleConfigsFromSpecsSelector } from './get_api_scale_configs';
import { getBarPaddingsSelector } from './get_bar_paddings';
import { isHistogramModeEnabledSelector } from './is_histogram_mode_enabled';
import type { SmallMultipleScales } from '../../../../common/panel_utils';
@@ -30,6 +32,7 @@ import type { Size } from '../../../../utils/dimensions';
import type { AxisId } from '../../../../utils/ids';
import { multilayerAxisEntry } from '../../axes/timeslip/multilayer_ticks';
import { isHorizontalAxis, isVerticalAxis } from '../../utils/axis_type_utils';
+import { isMultilayerTimeAxis } from '../../utils/axis_utils';
import type { AxisTick, TextDirection, TickLabelBounds } from '../../utils/axis_utils';
import { computeXScale } from '../../utils/scales';
import type { SeriesDomainsAndData } from '../utils/types';
@@ -75,6 +78,7 @@ export function generateTicks(
layer: number | undefined,
detailedLayer: number,
showGrid: boolean,
+ multilayerTimeAxis: boolean,
): AxisTick[] {
const getDirection = getDirectionFn(scale);
const isContinuous = isContinuousScale(scale);
@@ -91,6 +95,7 @@ export function generateTicks(
detailedLayer,
showGrid,
direction: getDirection(label),
+ multilayerTimeAxis,
};
});
}
@@ -106,11 +111,11 @@ function getVisibleTicks(
layer: number | undefined,
detailedLayer: number,
ticks: (number | string)[],
- isMultilayerTimeAxis: boolean = false,
+ multilayerTimeAxis: boolean = false,
showGrid = true,
): AxisTick[] {
const isSingleValueScale = scale.domain[0] === scale.domain[1];
- const makeRaster = enableHistogramMode && scale.bandwidth > 0 && !isMultilayerTimeAxis;
+ const makeRaster = enableHistogramMode && scale.bandwidth > 0 && !multilayerTimeAxis;
const ultimateTick = ticks.at(-1);
const penultimateTick = ticks.at(-2);
if (makeRaster && !isSingleValueScale && typeof penultimateTick === 'number' && typeof ultimateTick === 'number') {
@@ -138,6 +143,7 @@ function getVisibleTicks(
detailedLayer: 0,
direction: 'rtl',
showGrid,
+ multilayerTimeAxis,
},
{
value: firstTickValue + scale.minInterval,
@@ -149,13 +155,24 @@ function getVisibleTicks(
detailedLayer: 0,
direction: 'rtl',
showGrid,
+ multilayerTimeAxis,
},
]
- : generateTicks(axisSpec, scale, ticks, offset, labelFormatter, layer, detailedLayer, showGrid);
+ : generateTicks(
+ axisSpec,
+ scale,
+ ticks,
+ offset,
+ labelFormatter,
+ layer,
+ detailedLayer,
+ showGrid,
+ multilayerTimeAxis,
+ );
const { showOverlappingTicks, showOverlappingLabels, position } = axisSpec;
const requiredSpace = isVerticalAxis(position) ? labelBox.maxLabelBboxHeight / 2 : labelBox.maxLabelBboxWidth / 2;
- const bypassOverlapCheck = showOverlappingLabels || isMultilayerTimeAxis;
+ const bypassOverlapCheck = showOverlappingLabels || multilayerTimeAxis;
return bypassOverlapCheck
? allTicks
: allTicks
@@ -186,7 +203,7 @@ function getVisibleTickSet(
detailedLayer: number,
ticks: (number | string)[],
labelFormatter: AxisLabelFormatter,
- isMultilayerTimeAxis = false,
+ multilayerTimeAxis = false,
showGrid = true,
): AxisTick[] {
const vertical = isVerticalAxis(axisSpec.position);
@@ -204,7 +221,7 @@ function getVisibleTickSet(
layer,
detailedLayer,
ticks,
- isMultilayerTimeAxis,
+ multilayerTimeAxis,
showGrid,
);
}
@@ -213,6 +230,7 @@ function getVisibleTickSet(
export const getVisibleTickSetsSelector = createCustomCachedSelector(
[
getSettingsSpecSelector,
+ getScaleConfigsFromSpecsSelector,
getJoinedVisibleAxesData,
computeSeriesDomainsSelector,
computeSmallMultipleScalesSelector,
@@ -225,6 +243,7 @@ export const getVisibleTickSetsSelector = createCustomCachedSelector(
function getVisibleTickSets(
{ rotation: chartRotation, locale, dow }: Pick,
+ scaleConfigs: ScaleConfigs,
joinedAxesData: Map,
{ xDomain, yDomains }: Pick,
smScales: SmallMultipleScales,
@@ -241,7 +260,7 @@ function getVisibleTickSets(
const domain = isXAxis ? xDomain : yDomain;
const range = axisMinMax(axisSpec.position, chartRotation, panel);
const maxTickCount = domain?.desiredTickCount ?? 0;
- const isMultilayerTimeAxis = domain?.type === ScaleType.Time && timeAxisLayerCount > 0;
+ const multilayerTimeAxis = isMultilayerTimeAxis(axisSpec, scaleConfigs.x.type, chartRotation);
// TODO: remove this fallback when integersOnly is removed
const maximumFractionDigits = mfd ?? (integersOnly ? 0 : undefined);
@@ -266,7 +285,7 @@ function getVisibleTickSets(
detailedLayer,
ticks,
labelFormatter,
- isMultilayerTimeAxis,
+ multilayerTimeAxis,
showGrid,
),
labelBox,
@@ -333,7 +352,7 @@ function getVisibleTickSets(
return { fallbackAskedTickCount };
};
- if (isMultilayerTimeAxis) {
+ if (multilayerTimeAxis) {
const scale = getScale(0); // the scale is only needed for its non-tick props like step, bandwidth, ...
if (!scale || !isContinuousScale(scale)) throw new Error('Scale generation for the multilayer axis failed');
return acc.set(
diff --git a/packages/charts/src/chart_types/xy_chart/utils/axis_utils.test.ts b/packages/charts/src/chart_types/xy_chart/utils/axis_utils.test.ts
index 70f99d99253..a852a4ad34f 100644
--- a/packages/charts/src/chart_types/xy_chart/utils/axis_utils.test.ts
+++ b/packages/charts/src/chart_types/xy_chart/utils/axis_utils.test.ts
@@ -15,6 +15,7 @@ import {
getPosition,
// getAxesGeometries,
getTickLabelPosition,
+ isMultilayerTimeAxis,
isXDomain,
getScaleForAxisSpec,
} from './axis_utils';
@@ -850,6 +851,7 @@ describe('Axis computational utils', () => {
axis1Dims,
emptySmScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum },
+ false,
);
const expectedLeftAxisPosition = {
dimensions: {
@@ -883,6 +885,7 @@ describe('Axis computational utils', () => {
axis1Dims,
emptySmScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum },
+ false,
);
const expectedRightAxisPosition = {
@@ -917,6 +920,7 @@ describe('Axis computational utils', () => {
axis1Dims,
emptySmScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum },
+ false,
);
const { size: tickSize, padding: tickPadding } = LIGHT_THEME.axes.tickLine;
@@ -952,6 +956,7 @@ describe('Axis computational utils', () => {
axis1Dims,
emptySmScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum },
+ false,
);
const expectedBottomAxisPosition = {
@@ -1087,6 +1092,53 @@ describe('Axis computational utils', () => {
expect(horizontalY).toBe(true);
});
+ describe('isMultilayerTimeAxis', () => {
+ test('should return true if chartType is xy_axis, timeAxisLayerCount = 2, position is bottom, x axis type is time, rotation is 0', () => {
+ const multilayerTimeAxis = isMultilayerTimeAxis(
+ MockGlobalSpec.xAxis({ timeAxisLayerCount: 2, position: 'bottom' }),
+ 'time',
+ 0,
+ );
+ expect(multilayerTimeAxis).toBe(true);
+ });
+
+ test('should return false if x axis type is not time', () => {
+ const multilayerTimeAxis = isMultilayerTimeAxis(
+ MockGlobalSpec.xAxis({ timeAxisLayerCount: 2, position: 'bottom' }),
+ 'ordinal',
+ 0,
+ );
+ expect(multilayerTimeAxis).toBe(false);
+ });
+
+ test('should return false timeAxisLayerCount = 0', () => {
+ const multilayerTimeAxis = isMultilayerTimeAxis(
+ MockGlobalSpec.xAxis({ timeAxisLayerCount: 0, position: 'bottom' }),
+ 'time',
+ 0,
+ );
+ expect(multilayerTimeAxis).toBe(false);
+ });
+
+ test('should false true if chart type is not xy_axis', () => {
+ const multilayerTimeAxis = isMultilayerTimeAxis(
+ { chartType: 'metric', timeAxisLayerCount: 2, position: 'bottom' } as unknown as AxisSpec,
+ 'time',
+ 0,
+ );
+ expect(multilayerTimeAxis).toBe(false);
+ });
+
+ test('should return false if xy_axis, timeAxisLayerCount = 2, position is bottom, rotation is not 0', () => {
+ const multilayerTimeAxis = isMultilayerTimeAxis(
+ MockGlobalSpec.xAxis({ timeAxisLayerCount: 2, position: 'bottom' }),
+ 'time',
+ 90,
+ );
+ expect(multilayerTimeAxis).toBe(false);
+ });
+ });
+
test('should merge axis domains by group id', () => {
const groupId = 'group_1';
const domainRange1 = {
@@ -1315,7 +1367,17 @@ describe('Axis computational utils', () => {
const offset = 0;
const tickFormatOption = { timeZone: 'utc+1' };
expect(
- generateTicks(axisSpec, scale, scale.ticks(), offset, (v: any) => formatter(v, tickFormatOption), 0, 0, true),
+ generateTicks(
+ axisSpec,
+ scale,
+ scale.ticks(),
+ offset,
+ (v: any) => formatter(v, tickFormatOption),
+ 0,
+ 0,
+ true,
+ false,
+ ),
).toEqual([
{ value: 1547208000000, label: '2019-01-11', position: 25.145833333333332, layer },
{ value: 1547251200000, label: '2019-01-12', position: 85.49583333333334, layer },
@@ -1363,6 +1425,7 @@ describe('Axis computational utils', () => {
0,
0,
true,
+ false,
);
const tickLabels = ticks.map(({ label }) => ({ label }));
expect(tickLabels).toEqual([
@@ -1410,7 +1473,7 @@ describe('Axis computational utils', () => {
const offset = 0;
const tickFormatOption = { timeZone: 'utc+1' };
expect(
- generateTicks(axisSpec, scale, scale.ticks(), offset, (v) => tickFormat(v, tickFormatOption), 0, 0, true),
+ generateTicks(axisSpec, scale, scale.ticks(), offset, (v) => tickFormat(v, tickFormatOption), 0, 0, true, false),
).toEqual([
{
value: 1547208000000,
@@ -1419,6 +1482,7 @@ describe('Axis computational utils', () => {
position: 25.145833333333332,
domainClampedPosition: 25.145833333333332,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1430,6 +1494,7 @@ describe('Axis computational utils', () => {
position: 85.49583333333334,
domainClampedPosition: 85.49583333333334,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1441,6 +1506,7 @@ describe('Axis computational utils', () => {
position: 145.84583333333333,
domainClampedPosition: 145.84583333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1452,6 +1518,7 @@ describe('Axis computational utils', () => {
position: 206.19583333333333,
domainClampedPosition: 206.19583333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1463,6 +1530,7 @@ describe('Axis computational utils', () => {
position: 266.54583333333335,
domainClampedPosition: 266.54583333333335,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1474,6 +1542,7 @@ describe('Axis computational utils', () => {
position: 326.8958333333333,
domainClampedPosition: 326.8958333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1485,6 +1554,7 @@ describe('Axis computational utils', () => {
position: 387.24583333333334,
domainClampedPosition: 387.24583333333334,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1496,6 +1566,7 @@ describe('Axis computational utils', () => {
position: 447.59583333333336,
domainClampedPosition: 447.59583333333336,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1507,6 +1578,7 @@ describe('Axis computational utils', () => {
position: 507.9458333333333,
domainClampedPosition: 507.9458333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1518,6 +1590,7 @@ describe('Axis computational utils', () => {
position: 568.2958333333333,
domainClampedPosition: 568.2958333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1552,7 +1625,7 @@ describe('Axis computational utils', () => {
const offset = 0;
const tickFormatOption = { timeZone: 'utc+1' };
expect(
- generateTicks(axisSpec, scale, scale.ticks(), offset, (v) => tickFormat(v, tickFormatOption), 0, 0, true),
+ generateTicks(axisSpec, scale, scale.ticks(), offset, (v) => tickFormat(v, tickFormatOption), 0, 0, true, false),
).toEqual([
{
value: 1547208000000,
@@ -1561,6 +1634,7 @@ describe('Axis computational utils', () => {
position: 25.145833333333332,
domainClampedPosition: 25.145833333333332,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1572,6 +1646,7 @@ describe('Axis computational utils', () => {
position: 85.49583333333334,
domainClampedPosition: 85.49583333333334,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1583,6 +1658,7 @@ describe('Axis computational utils', () => {
position: 145.84583333333333,
domainClampedPosition: 145.84583333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1594,6 +1670,7 @@ describe('Axis computational utils', () => {
position: 206.19583333333333,
domainClampedPosition: 206.19583333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1605,6 +1682,7 @@ describe('Axis computational utils', () => {
position: 266.54583333333335,
domainClampedPosition: 266.54583333333335,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1616,6 +1694,7 @@ describe('Axis computational utils', () => {
position: 326.8958333333333,
domainClampedPosition: 326.8958333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1627,6 +1706,7 @@ describe('Axis computational utils', () => {
position: 387.24583333333334,
domainClampedPosition: 387.24583333333334,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1638,6 +1718,7 @@ describe('Axis computational utils', () => {
position: 447.59583333333336,
domainClampedPosition: 447.59583333333336,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1649,6 +1730,7 @@ describe('Axis computational utils', () => {
position: 507.9458333333333,
domainClampedPosition: 507.9458333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1660,6 +1742,7 @@ describe('Axis computational utils', () => {
position: 568.2958333333333,
domainClampedPosition: 568.2958333333333,
layer,
+ multilayerTimeAxis: false,
detailedLayer,
direction: 'ltr',
showGrid: true,
@@ -1685,6 +1768,7 @@ describe('Axis computational utils', () => {
axis1Dims,
smScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum },
+ false,
);
const expectedLeftAxisPosition = {
@@ -1713,6 +1797,7 @@ describe('Axis computational utils', () => {
axis1Dims,
smScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum },
+ false,
);
const expectedRightAxisPosition = {
@@ -1741,6 +1826,7 @@ describe('Axis computational utils', () => {
axis1Dims,
smScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum },
+ false,
);
const expectedTopAxisPosition = {
@@ -1769,6 +1855,7 @@ describe('Axis computational utils', () => {
axis1Dims,
smScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum },
+ false,
);
const expectedBottomAxisPosition = {
diff --git a/packages/charts/src/chart_types/xy_chart/utils/axis_utils.ts b/packages/charts/src/chart_types/xy_chart/utils/axis_utils.ts
index e09c8ae44c3..38352fa6443 100644
--- a/packages/charts/src/chart_types/xy_chart/utils/axis_utils.ts
+++ b/packages/charts/src/chart_types/xy_chart/utils/axis_utils.ts
@@ -8,9 +8,11 @@
import { isHorizontalAxis, isVerticalAxis } from './axis_type_utils';
import { computeXScale, computeYScales } from './scales';
+import { ChartType } from '../..';
import type { SmallMultipleScales } from '../../../common/panel_utils';
import { hasSMDomain, getPanelSize } from '../../../common/panel_utils';
import type { ScaleBand, ScaleContinuous } from '../../../scales';
+import { ScaleType } from '../../../scales/constants';
import type { AxisSpec, SettingsSpec } from '../../../specs';
import type { Rotation } from '../../../utils/common';
import { degToRad, getPercentageValue, HorizontalAlignment, Position, VerticalAlignment } from '../../../utils/common';
@@ -20,6 +22,7 @@ import type { Range } from '../../../utils/domain';
import type { AxisId } from '../../../utils/ids';
import type { Point } from '../../../utils/point';
import type { AxisStyle, TextAlignment, TextOffset, Theme } from '../../../utils/themes/theme';
+import type { ScaleConfigs } from '../state/selectors/get_api_scale_configs';
import type { Projection } from '../state/selectors/visible_ticks';
import type { SeriesDomainsAndData } from '../state/utils/types';
@@ -39,6 +42,7 @@ export interface AxisTick {
detailedLayer: number;
showGrid: boolean;
direction: TextDirection;
+ multilayerTimeAxis: boolean;
}
/** @internal */
@@ -249,9 +253,9 @@ export function getTitleDimension({
export const getAllAxisLayersGirth = (
timeAxisLayerCount: number,
maxLabelBoxGirth: number,
- axisHorizontal: boolean,
+ multilayerTimeAxis: boolean,
) => {
- const axisLayerCount = timeAxisLayerCount > 0 && axisHorizontal ? timeAxisLayerCount : 1;
+ const axisLayerCount = timeAxisLayerCount > 0 && multilayerTimeAxis ? timeAxisLayerCount : 1;
return axisLayerCount * maxLabelBoxGirth;
};
@@ -260,11 +264,13 @@ export function getPosition(
{ chartDimensions }: { chartDimensions: Dimensions },
chartMargins: PerSideDistance,
{ axisTitle, axisPanelTitle, tickLine, tickLabel }: AxisStyle,
- { title, position, hide, timeAxisLayerCount }: AxisSpec,
+ axisSpec: AxisSpec,
{ maxLabelBboxHeight, maxLabelBboxWidth }: TickLabelBounds,
smScales: SmallMultipleScales,
{ top: cumTopSum, bottom: cumBottomSum, left: cumLeftSum, right: cumRightSum }: PerSideDistance,
+ multilayerTimeAxis: boolean,
) {
+ const { title, position, hide, timeAxisLayerCount } = axisSpec;
const tickDimension = shouldShowTicks(tickLine, hide) ? tickLine.size + tickLine.padding : 0;
const labelPaddingSum = tickLabel.visible ? innerPad(tickLabel.padding) + outerPad(tickLabel.padding) : 0;
const titleDimension = title ? getTitleDimension(axisTitle) : 0;
@@ -272,7 +278,7 @@ export function getPosition(
const scaleBand = vertical ? smScales.vertical : smScales.horizontal;
const panelTitleDimension = hasSMDomain(scaleBand) ? getTitleDimension(axisPanelTitle) : 0;
const maxLabelBboxGirth = tickLabel.visible ? (vertical ? maxLabelBboxWidth : maxLabelBboxHeight) : 0;
- const shownLabelSize = getAllAxisLayersGirth(timeAxisLayerCount, maxLabelBboxGirth, !vertical);
+ const shownLabelSize = getAllAxisLayersGirth(timeAxisLayerCount, maxLabelBboxGirth, multilayerTimeAxis);
const parallelSize = labelPaddingSum + shownLabelSize + tickDimension + titleDimension + panelTitleDimension;
return {
leftIncrement: position === Position.Left ? parallelSize + chartMargins.left : 0,
@@ -294,6 +300,21 @@ export function getPosition(
};
}
+/** @internal */
+export function isMultilayerTimeAxis(
+ { chartType, timeAxisLayerCount, position }: AxisSpec,
+ xScaleType: ScaleType,
+ rotation: Rotation,
+) {
+ return (
+ chartType === ChartType.XYAxis &&
+ timeAxisLayerCount > 0 &&
+ isXDomain(position, rotation) &&
+ rotation === 0 &&
+ xScaleType === ScaleType.Time
+ );
+}
+
/** @internal */
export function shouldShowTicks({ visible }: AxisStyle['tickLine'], axisHidden: boolean): boolean {
return !axisHidden && visible;
@@ -309,6 +330,7 @@ export interface AxisGeometry {
position: Position;
panelTitle?: string; // defined later per panel
secondary?: boolean; // defined later per panel
+ multilayerTimeAxis: boolean;
};
dimension: TickLabelBounds;
visibleTicks: AxisTick[];
@@ -322,6 +344,8 @@ export function getAxesGeometries(
axesStyles: Map,
smScales: SmallMultipleScales,
visibleTicksSet: Map,
+ scaleConfigs: ScaleConfigs,
+ settingsSpec: SettingsSpec,
): AxisGeometry[] {
const panel = getPanelSize(smScales);
return [...visibleTicksSet].reduce(
@@ -330,6 +354,7 @@ export function getAxesGeometries(
if (axisSpec) {
const vertical = isVerticalAxis(axisSpec.position);
const axisStyle = axesStyles.get(axisId) ?? sharedAxesStyle;
+ const multilayerTimeAxis = isMultilayerTimeAxis(axisSpec, scaleConfigs.x.type, settingsSpec.rotation);
const { dimensions, topIncrement, bottomIncrement, leftIncrement, rightIncrement } = getPosition(
chartDims,
chartMargins,
@@ -338,13 +363,14 @@ export function getAxesGeometries(
labelBox,
smScales,
acc,
+ multilayerTimeAxis,
);
acc.top += topIncrement;
acc.bottom += bottomIncrement;
acc.left += leftIncrement;
acc.right += rightIncrement;
acc.geoms.push({
- axis: { id: axisSpec.id, position: axisSpec.position },
+ axis: { id: axisSpec.id, position: axisSpec.position, multilayerTimeAxis },
anchorPoint: { x: dimensions.left, y: dimensions.top },
dimension: labelBox,
visibleTicks: ticks,
diff --git a/packages/charts/src/chart_types/xy_chart/utils/dimensions.test.ts b/packages/charts/src/chart_types/xy_chart/utils/dimensions.test.ts
index 23d472ed407..c724c374d7a 100644
--- a/packages/charts/src/chart_types/xy_chart/utils/dimensions.test.ts
+++ b/packages/charts/src/chart_types/xy_chart/utils/dimensions.test.ts
@@ -10,13 +10,26 @@ import type { TickLabelBounds } from './axis_utils';
import { computeChartDimensions } from './dimensions';
import type { AxisSpec } from './specs';
import { ChartType } from '../..';
-import { SpecType } from '../../../specs/spec_type'; // kept as long-winded import on separate line otherwise import circularity emerges
+import { MockGlobalSpec } from '../../../mocks/specs/specs';
+import { ScaleType } from '../../../scales/constants';
+import { SpecType } from '../../../specs/spec_type';
import { Position } from '../../../utils/common';
import type { Margins } from '../../../utils/dimensions';
import type { AxisId } from '../../../utils/ids';
import { LIGHT_THEME } from '../../../utils/themes/light_theme';
import type { LegendStyle } from '../../../utils/themes/theme';
import type { AxesTicksDimensions } from '../state/selectors/compute_axis_ticks_dimensions';
+import type { ScaleConfigs } from '../state/selectors/get_api_scale_configs';
+
+const getScaleConfigs = (): ScaleConfigs => ({
+ x: {
+ type: ScaleType.Linear,
+ nice: true,
+ desiredTickCount: 10,
+ isBandScale: false,
+ },
+ y: {},
+});
describe('Computed chart dimensions', () => {
const parentDim = {
@@ -55,7 +68,7 @@ describe('Computed chart dimensions', () => {
showOverlappingLabels: false,
position: Position.Left,
tickFormat: (value: any) => `${value}`,
- timeAxisLayerCount: 0,
+ timeAxisLayerCount: 2,
};
const legend: LegendStyle = {
verticalWidth: 10,
@@ -82,7 +95,16 @@ describe('Computed chart dimensions', () => {
const axisDims: AxesTicksDimensions = new Map();
const axisStyles = new Map();
const axisSpecs: AxisSpec[] = [];
- const { chartDimensions } = computeChartDimensions(parentDim, chartTheme, axisDims, axisStyles, axisSpecs, null);
+ const { chartDimensions } = computeChartDimensions(
+ parentDim,
+ chartTheme,
+ axisDims,
+ axisStyles,
+ axisSpecs,
+ null,
+ getScaleConfigs(),
+ MockGlobalSpec.settings(),
+ );
expect(chartDimensions.left + chartDimensions.width).toBeLessThanOrEqual(parentDim.width);
expect(chartDimensions.top + chartDimensions.height).toBeLessThanOrEqual(parentDim.height);
expect(chartDimensions).toMatchSnapshot();
@@ -94,7 +116,16 @@ describe('Computed chart dimensions', () => {
const axisStyles = new Map();
const axisSpecs = [axisLeftSpec];
axisDims.set('axis_1', axis1Dims);
- const { chartDimensions } = computeChartDimensions(parentDim, chartTheme, axisDims, axisStyles, axisSpecs, null);
+ const { chartDimensions } = computeChartDimensions(
+ parentDim,
+ chartTheme,
+ axisDims,
+ axisStyles,
+ axisSpecs,
+ null,
+ getScaleConfigs(),
+ MockGlobalSpec.settings(),
+ );
expect(chartDimensions.left + chartDimensions.width).toBeLessThanOrEqual(parentDim.width);
expect(chartDimensions.top + chartDimensions.height).toBeLessThanOrEqual(parentDim.height);
expect(chartDimensions).toMatchSnapshot();
@@ -106,7 +137,16 @@ describe('Computed chart dimensions', () => {
const axisStyles = new Map();
const axisSpecs = [{ ...axisLeftSpec, position: Position.Right }];
axisDims.set('axis_1', axis1Dims);
- const { chartDimensions } = computeChartDimensions(parentDim, chartTheme, axisDims, axisStyles, axisSpecs, null);
+ const { chartDimensions } = computeChartDimensions(
+ parentDim,
+ chartTheme,
+ axisDims,
+ axisStyles,
+ axisSpecs,
+ null,
+ getScaleConfigs(),
+ MockGlobalSpec.settings(),
+ );
expect(chartDimensions.left + chartDimensions.width).toBeLessThanOrEqual(parentDim.width);
expect(chartDimensions.top + chartDimensions.height).toBeLessThanOrEqual(parentDim.height);
expect(chartDimensions).toMatchSnapshot();
@@ -123,7 +163,16 @@ describe('Computed chart dimensions', () => {
},
];
axisDims.set('axis_1', axis1Dims);
- const { chartDimensions } = computeChartDimensions(parentDim, chartTheme, axisDims, axisStyles, axisSpecs, null);
+ const { chartDimensions } = computeChartDimensions(
+ parentDim,
+ chartTheme,
+ axisDims,
+ axisStyles,
+ axisSpecs,
+ null,
+ getScaleConfigs(),
+ MockGlobalSpec.settings(),
+ );
expect(chartDimensions.left + chartDimensions.width).toBeLessThanOrEqual(parentDim.width);
expect(chartDimensions.top + chartDimensions.height).toBeLessThanOrEqual(parentDim.height);
expect(chartDimensions).toMatchSnapshot();
@@ -140,7 +189,16 @@ describe('Computed chart dimensions', () => {
},
];
axisDims.set('axis_1', axis1Dims);
- const { chartDimensions } = computeChartDimensions(parentDim, chartTheme, axisDims, axisStyles, axisSpecs, null);
+ const { chartDimensions } = computeChartDimensions(
+ parentDim,
+ chartTheme,
+ axisDims,
+ axisStyles,
+ axisSpecs,
+ null,
+ getScaleConfigs(),
+ MockGlobalSpec.settings(),
+ );
expect(chartDimensions.left + chartDimensions.width).toBeLessThanOrEqual(parentDim.width);
expect(chartDimensions.top + chartDimensions.height).toBeLessThanOrEqual(parentDim.height);
expect(chartDimensions).toMatchSnapshot();
@@ -155,7 +213,16 @@ describe('Computed chart dimensions', () => {
},
];
axisDims.set('foo', axis1Dims);
- const chartDimensions = computeChartDimensions(parentDim, chartTheme, axisDims, axisStyles, axisSpecs, null);
+ const chartDimensions = computeChartDimensions(
+ parentDim,
+ chartTheme,
+ axisDims,
+ axisStyles,
+ axisSpecs,
+ null,
+ getScaleConfigs(),
+ MockGlobalSpec.settings(),
+ );
const expectedDims = {
chartDimensions: {
@@ -184,6 +251,8 @@ describe('Computed chart dimensions', () => {
axisStyles,
axisSpecs,
null,
+ getScaleConfigs(),
+ MockGlobalSpec.settings(),
);
expect(hiddenAxisChartDimensions).toEqual(expectedDims);
diff --git a/packages/charts/src/chart_types/xy_chart/utils/dimensions.ts b/packages/charts/src/chart_types/xy_chart/utils/dimensions.ts
index 103b33e03b5..83049d9217c 100644
--- a/packages/charts/src/chart_types/xy_chart/utils/dimensions.ts
+++ b/packages/charts/src/chart_types/xy_chart/utils/dimensions.ts
@@ -7,26 +7,38 @@
*/
import type { AxisSpec } from './specs';
-import type { SmallMultiplesSpec } from '../../../specs';
+import type { SettingsSpec, SmallMultiplesSpec } from '../../../specs';
import type { ChartDimensions, Dimensions } from '../../../utils/dimensions';
import type { AxisId } from '../../../utils/ids';
import type { Theme, AxisStyle } from '../../../utils/themes/theme';
import { getAxesDimensions } from '../axes/axes_sizes';
import type { AxesTicksDimensions } from '../state/selectors/compute_axis_ticks_dimensions';
+import type { ScaleConfigs } from '../state/selectors/get_api_scale_configs';
/**
* Compute the chart dimensions. It's computed removing from the parent dimensions
* the axis spaces, the legend and any other specified style margin and padding.
* @internal
- */ export function computeChartDimensions(
+ */
+export function computeChartDimensions(
parentDimensions: Dimensions,
theme: Theme,
axisTickDimensions: AxesTicksDimensions,
axesStyles: Map,
axisSpecs: AxisSpec[],
smSpec: SmallMultiplesSpec | null,
+ scaleConfigs: ScaleConfigs,
+ settingsSpec: SettingsSpec,
): ChartDimensions {
- const axesDimensions = getAxesDimensions(theme, axisTickDimensions, axesStyles, axisSpecs, smSpec);
+ const axesDimensions = getAxesDimensions(
+ theme,
+ axisTickDimensions,
+ axesStyles,
+ axisSpecs,
+ smSpec,
+ scaleConfigs.x.type,
+ settingsSpec.rotation,
+ );
const chartWidth = parentDimensions.width - axesDimensions.left - axesDimensions.right;
const chartHeight = parentDimensions.height - axesDimensions.top - axesDimensions.bottom;
const pad = theme.chartPaddings;
diff --git a/packages/charts/src/chart_types/xy_chart/utils/specs.ts b/packages/charts/src/chart_types/xy_chart/utils/specs.ts
index 94dfaf0e1ad..c3f6bca62c2 100644
--- a/packages/charts/src/chart_types/xy_chart/utils/specs.ts
+++ b/packages/charts/src/chart_types/xy_chart/utils/specs.ts
@@ -768,7 +768,7 @@ export interface AxisSpec extends Spec {
* Render a multi-layer time axis. Use 2 or 3 as valid number of layers.
* Use 0 to use the alternative, one row, time axis.
* @alpha
- * @defaultValue 0
+ * @defaultValue 2
*/
timeAxisLayerCount: number;
}
diff --git a/packages/charts/src/mocks/specs/specs.ts b/packages/charts/src/mocks/specs/specs.ts
index 713e1928dec..ab5993f7f80 100644
--- a/packages/charts/src/mocks/specs/specs.ts
+++ b/packages/charts/src/mocks/specs/specs.ts
@@ -317,7 +317,7 @@ export class MockGlobalSpec {
showOverlappingTicks: false,
showOverlappingLabels: false,
position: Position.Left,
- timeAxisLayerCount: 0,
+ timeAxisLayerCount: 2,
};
private static readonly settingsBaseNoMargings: SettingsSpec = {
diff --git a/storybook/stories/annotations/lines/8_advanced_markers.story.tsx b/storybook/stories/annotations/lines/8_advanced_markers.story.tsx
index 0d5dfc2dcee..a9055a76e18 100644
--- a/storybook/stories/annotations/lines/8_advanced_markers.story.tsx
+++ b/storybook/stories/annotations/lines/8_advanced_markers.story.tsx
@@ -85,11 +85,10 @@ const looseFormatter = (d: any) => (d < 100 ? String(d) : moment(d).format('L'))
export const Example: ChartsStory = (_, { title, description }) => {
const maxMetric = 30;
- const debug = boolean('Debug', true);
+ const debug = boolean('Debug', false);
const showLegend = boolean('show legend', true);
const rotation = customKnobs.enum.rotation();
const side = customKnobs.enum.position('Side', Position.Bottom);
- const padding = number('TickLine padding for markerBody', 30, { step: 5, min: 0, max: 100 });
const start = moment('4/1/2020').startOf('d');
const metric = number('Annotation metric', maxMetric, { step: 1, min: 0, max: maxMetric, range: true });
const isVerticalSide = isVerticalAxis(side);
@@ -103,14 +102,8 @@ export const Example: ChartsStory = (_, { title, description }) => {
maximumFractionDigits={0}
tickFormat={looseFormatter}
position={side === Position.Right ? Position.Right : Position.Left}
- style={{ tickLine: { padding: isVerticalSide ? padding : undefined } }}
- />
-
+
{isYDomain ? (
{
}}
style={{
axisLine: { stroke: dataInk },
- tickLine: { size: 0.0001, padding: 4 },
tickLabel: {
...tickLabelStyle,
- alignment: { horizontal: Position.Left, vertical: Position.Bottom },
- padding: 0,
- offset: { x: 0, y: 0 },
},
axisTitle: { fontFamily, fill: axisTitleColor, fontSize: axisTitleFontSize },
diff --git a/storybook/stories/bar/10a_rendering_sort.story.tsx b/storybook/stories/bar/10a_rendering_sort.story.tsx
index c1bba18c096..1fc98155d22 100644
--- a/storybook/stories/bar/10a_rendering_sort.story.tsx
+++ b/storybook/stories/bar/10a_rendering_sort.story.tsx
@@ -67,21 +67,7 @@ export const Example: ChartsStory = (_, { title, description }) => {
legendSort={legendSortFn as SeriesCompareFn}
/>
- moment(d).format('lll')}
- style={{
- tickLine: { size: 4, padding: 4, visible: true },
- tickLabel: {
- alignment: { horizontal: Position.Left, vertical: Position.Bottom },
- padding: 0,
- offset: { x: 0, y: 0 },
- },
- }}
- timeAxisLayerCount={2}
- />
+ moment(d).format('lll')} />
{
{hasHistogramBarSeries && (
{
)}
{
position={Position.Bottom}
title={TEST_DATASET_DISCOVER.xAxisLabel}
tickFormat={formatter}
- style={
- multiLayerAxis
- ? {
- tickLine: { size: 0.0001, padding: 4 },
- tickLabel: { alignment: { horizontal: Position.Left, vertical: Position.Bottom } },
- }
- : {}
- }
/>
{
showOverlappingTicks={!multiLayerAxis}
tickFormat={formatter}
timeAxisLayerCount={multiLayerAxis ? 3 : 0}
- style={
- multiLayerAxis
- ? {
- tickLine: { size: 0.0001, padding: 4 },
- tickLabel: { alignment: { horizontal: Position.Left, vertical: Position.Bottom } },
- }
- : {}
- }
/>
{
gridLine={{
visible: true,
}}
- style={{
- tickLine: { size: 0.0001, padding: 4 },
- tickLabel: {
- alignment: { horizontal: Position.Left, vertical: Position.Bottom },
- padding: 0,
- offset: { x: 0, y: 0 },
- },
- }}
tickFormat={tooltipDateFormatter}
- timeAxisLayerCount={2}
/>
{
Number(d).toFixed(2)} />
- {
DateTime.fromMillis(v as number).toFormat('dd MMMM HH:mm:ss', { timeZone: 'Europe/Rome' })}
- style={{
- tickLine: { size: 0.0001, padding: 4 },
- tickLabel: {
- alignment: { horizontal: Position.Left, vertical: Position.Bottom },
- padding: 0,
- },
- axisTitle: { visible: false },
- }}
/>
{
DateTime.fromMillis(v as number).toFormat('dd MMMM HH:mm:ss', { timeZone: 'Europe/Rome' })}
- style={{
- tickLine: { size: 0.0001, padding: 4 },
- tickLabel: {
- alignment: { horizontal: Position.Left, vertical: Position.Bottom },
- padding: 0,
- },
- }}
/>
{
{
}}
brushAxis={BrushAxis.X}
/>
-
+
(
position={Position.Bottom}
showOverlappingTicks
tickFormat={dateFormatter}
- timeAxisLayerCount={2}
gridLine={{
visible: true,
}}
- style={{
- tickLine: { size: 0.0001, padding: 4 },
- tickLabel: {
- alignment: { horizontal: Position.Left, vertical: Position.Bottom },
- padding: 0,
- offset: { x: 0, y: 0 },
- },
- }}
/>
null} />
{
- moment(d).format('llll')}
- style={{
- tickLine: { visible: true, padding: 0 },
- tickLabel: {
- alignment: {
- horizontal: Position.Left,
- vertical: Position.Bottom,
- },
- padding: 0,
- offset: { x: 0, y: 0 },
- },
- }}
- />
+ moment(d).format('llll')} />
{
{
},
}}
/>
-
+
{
},
}}
/>
-
+
{
id="x"
position={Position.Bottom}
gridLine={{ visible: true }}
- timeAxisLayerCount={2}
- style={{
- tickLabel: {
- alignment: { horizontal: 'center' },
- padding: 0,
- },
- tickLine: {
- visible: true,
- padding: 0,
- size: 5,
- },
- }}
tickFormat={(d) => niceTimeFormatter(domain)(d, { timeZone: 'UTC' })}
/>
diff --git a/storybook/stories/test_cases/5_legend_scroll_bar_sizing.story.tsx b/storybook/stories/test_cases/5_legend_scroll_bar_sizing.story.tsx
index a3aecb738c6..455c5c7bd0e 100644
--- a/storybook/stories/test_cases/5_legend_scroll_bar_sizing.story.tsx
+++ b/storybook/stories/test_cases/5_legend_scroll_bar_sizing.story.tsx
@@ -76,7 +76,7 @@ export const Example: ChartsStory = (_, { title, description }) => {
yScaleType={ScaleType.Linear}
splitSeriesAccessors={['g']}
stackAccessors={['g']}
- data={data}
+ data={data.map((d) => ({ ...d, x: new Date(d.x).getTime() }))}
/>
);