화면 차트 수정

This commit is contained in:
2025-12-12 17:22:48 +09:00
parent b9117f231b
commit 5f45b517fb
3 changed files with 35 additions and 6 deletions

View File

@@ -18,6 +18,9 @@ import {
import { genomeApi, TraitRankDto } from "@/lib/api/genome.api"
import { useGlobalFilter } from "@/contexts/GlobalFilterContext"
// 낮을수록 좋은 형질 (부호 반전 필요)
const NEGATIVE_TRAITS = ['등지방두께']
// 카테고리 색상 (모던 & 다이나믹 - 생동감 있는 색상)
const CATEGORY_COLORS: Record<string, string> = {
'성장': '#3b82f6', // 블루
@@ -285,8 +288,15 @@ export function NormalDistributionChart({
// "내 개체 중심" 방식: 개체를 0에 고정
// 농가/보은군은 개체 대비 상대 위치로 표시 (음수 = 개체보다 뒤처짐)
const cowVsFarm = baseScore - baseFarmScore // 농가 대비 개체 차이
const cowVsRegion = baseScore - baseRegionScore // 보은군 대비 개체 차이
let cowVsFarm = baseScore - baseFarmScore // 농가 대비 개체 차이
let cowVsRegion = baseScore - baseRegionScore // 보은군 대비 개체 차이
// 등지방두께 등 낮을수록 좋은 형질은 부호 반전
// (개체가 농가보다 낮으면 실제로는 더 좋은 것이므로 양수로 표시)
if (NEGATIVE_TRAITS.includes(chartFilterTrait)) {
cowVsFarm = -cowVsFarm
cowVsRegion = -cowVsRegion
}
return {
score: 0, // 개체는 항상 0 (중심)

View File

@@ -58,6 +58,9 @@ const TRAIT_CATEGORIES: Record<string, string[]> = {
'비율': ['안심rate', '등심rate', '채끝rate', '목심rate', '앞다리rate', '우둔rate', '설도rate', '사태rate', '양지rate', '갈비rate'],
}
// 낮을수록 좋은 형질 (부호 반전 필요)
const NEGATIVE_TRAITS = ['등지방두께']
export default function DashboardPage() {
const router = useRouter()
const { user } = useAuthStore()
@@ -294,7 +297,15 @@ export default function DashboardPage() {
if (traitData) {
const farmEpd = traitData.avgEpd ?? 0
const regionEpd = traitData.regionAvgEpd ?? 0
farmScore = farmEpd - regionEpd // 보은군 대비 차이
let diff = farmEpd - regionEpd // 보은군 대비 차이
// 등지방두께 등 낮을수록 좋은 형질은 부호 반전
// (농가가 보은군보다 낮으면 실제로는 더 좋은 것이므로 양수로 표시)
if (NEGATIVE_TRAITS.includes(distributionBasis)) {
diff = -diff
}
farmScore = diff
regionScore = 0 // 보은군 = 기준점 (0)
originalFarmScore = farmEpd
originalRegionScore = regionEpd