fix(B06): 횡단 Y축 눈금이 X축 아래로 삐져나오던 문제
눈금 범위를 elevationMid 중심(±displaySpan/2)으로 잡아, displayMax에 들어간 면적표 여유(AREA_OVERLAY_HEADROOM_PX/2)만큼 아래로 밀려 최하단 격자선·라벨이 X축 라벨 줄 아래에 그려졌다. 범위를 실제 표시 상·하단(displayMax 기준)에서 역산해 플롯 안에만 눈금이 오게 한다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -321,9 +321,12 @@ export function createCrossSectionCard(
|
||||
// Y축 눈금: 표고 범위를 10칸 안팎으로 나누되 눈금값이 1·2·5 계열로 딱 떨어지게 한다
|
||||
// (종단면도와 같은 규칙). 5등분 고정은 눈금값이 소수로 흘러 표고를 못 읽었다
|
||||
// (2026-08-23 사용자 지시). 라벨 겹침 방지로 눈금 간격은 14px 이상 띄운다.
|
||||
// 눈금 범위는 **실제로 보이는 플롯 상·하단**(y() 기준)에서 뽑는다 — elevationMid를
|
||||
// 중심으로 잡으면 displayMax의 면적표 여유(headroom)만큼 아래로 밀려 X축 라벨 줄
|
||||
// 아래에 격자선이 삐져나왔다(2026-08-23 사용자 보고).
|
||||
const rawDisplaySpan = displaySpan / exaggeration;
|
||||
const rawBottom = elevationMid - rawDisplaySpan / 2;
|
||||
const rawTop = elevationMid + rawDisplaySpan / 2;
|
||||
const rawTop = elevationMid + (displayMax - elevationMid) / exaggeration;
|
||||
const rawBottom = rawTop - rawDisplaySpan;
|
||||
const plotHeightPx = heightPx - CROSS_PAD.top - CROSS_PAD.bottom;
|
||||
const tickStep = niceTickStep(rawDisplaySpan, 10, Math.floor(plotHeightPx / 14));
|
||||
const tickDecimals = Math.max(0, Math.ceil(-Math.log10(tickStep) - 1e-9));
|
||||
|
||||
Reference in New Issue
Block a user