Skip to content
Discussion options

You must be logged in to vote

分组自定义配色方案实现方案分析

你需求归纳:

  • category(target_monthly/actual_monthly)分组,每组内部 cost_type 进行堆叠,且每组采用不同色板。
  • Ant Design Charts scale.color.palette 只支持整个系列采用一个色板。
  • scale.color.relations 提供 d(单个数据项),但无法直接获取当前分组全部 context,限制了智能分配色板。

1. 文档内可用的分组配色方案(直接支持?)

结论:v2.4.0 文档没有直接支持根据分组字段(如 category)应用不同 palette 的原生配置项。

  • 色彩分配 文档仅说明 palette 应用于整个色板,relations 只给当前 datum。
  • 你提出的需求(每个分类分配色板)超出 scale.color 的直接能力。

2. scale.color.relations 能否获得更多 context?

  • relations 内 callback 签名是 (d, data, i) => color,参数中:
    • d 是当前数据对象
    • data 是全量 data
    • i 下标
  • 虽然有全量 data,但没有分组和堆叠的上下文,不方便判断当前 bar 属于哪个分组的 stack(因为底层渲染时已经分组了)。
  • relations 的设计更适合条件型控制(比如根据 cost_type / value 直接给色)。

3. 推荐的替代方案与常用 workaround

A. 手动按分组分配颜色(Ant Design Charts 推荐方式)

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by ahmadnzr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants