Skip to content

凸凹图

Bump ChartPreview
1st2nd3rd4th5thJanFebMarAprMayJun

追踪支出类别之间每月的排名变化。排名第 1 表示该月支出最高的类别。

图表类型

属性
Apache ECharts,通过 BaseChart
系列类型line(每个类别一条线)
源文件src/components/panels/BumpChartPanel.tsx

显示内容

每条线代表一个支出类别。Y 轴显示排名位置(反转,排名 1 在顶部)。当类别在支出上彼此超越时,它们的线会交叉——很容易看出一个类别何时超过另一个。

排名通过在每个月内按月支出排序类别,然后分配连续排名来计算。

主要功能

功能详情
反转 Y 轴inverse: true —— 排名 1 在顶部
平滑曲线smooth: 0.3 实现柔和曲线
末端标签类别名称显示在每条线的右端
类别着色线条每条线使用该类别分配的颜色
聚焦强调悬停时高亮一条类别线,其他线变淡
Y 轴标签格式化为 #1#2#3
X 轴标签通过 lib/formatting.tsformatMonth() 格式化

视觉细节

  • 线宽:2.5px
  • 符号:circle,大小 8
  • 符号边框:面板背景色,2px 宽(创建内嵌点效果)
  • 末端标签字体:等宽,10px,颜色匹配类别
  • 网格:左 40px,右 110px(为末端标签留空间),上 20px,下 30px

交互操作

  • 悬停 —— emphasis.focus: 'series' 高亮悬停的线(宽度增加到 4px)并淡化所有其他线
  • 提示框 —— 通过 BaseChart 的标准 ECharts 提示框

数据来源

状态管理字段
mockMonthlyByCategory来自 src/mocks/personalData.ts 的模拟数据
useFinanceStoreisMockMode 标志
useChartTheme轴样式、分割线、标签颜色

数据目前来自模拟数据。每个条目包含 monthcategoryamountcolor 字段。连接 Akahu 后,将从月度摘要存储中提取。