VChart主题相关概念
VChart的主题模块是一个强大且灵活的图表样式配置系统。它允许用户通过统一和可复用的方式定制图表的视觉外观。用户可以轻松地为整个图表或特定图表类型定义全面的样式配置,包括颜色、字体、布局、组件样式等。通过预定义主题,用户可以快速实现一致的设计风格,无需为每个图表重复配置样式,从而大大简化了图表开发过程,并确保图表在不同场景下保持视觉一致性和专业性。简单来说,VChart的主题就像是图表的"设计模板",用户只需选择或自定义主题,就能快速创建美观、专业的数据可视化图表。
主题概念相关文档:VisActor/VChart tutorial documents
主题相关源码位置与内容
-
package/vchart/scr/util/theme:主题相关的工具类文件夹,包含对主题合并,解析,预处理(色板,token语义化)以及字符串主题转对象等实用的工具。
-
package/vchart/scr/core/vchart.ts:定义了核心类VChart,包括图表生命周期内的一系列钩子例如 主题初始化,注册,更新,切换,销毁。VChart 是具体的图表实例,负责应用和渲染,与主题的配置和更新有密不可分的 联系。
-
package/vchart/src/theme:该文件夹包含了主题相关的特殊概念:色板(color-theme)、tokenMap、主题管理类(theme-manager)等数据结构。
核心类及之间的联系
-
VChart:负责图表的具体渲染、实例化和生命周期管理
-
ThemeManager:负责主题的全局注册、管理和切换
ThemeManager作为VChart的一个静态类暴露出来,用户可以使用诸如
VChart.ThemeManager.registerTheme('myTheme', { ... });或VChart.ThemeManager.setCurrentTheme('myTheme');来管理主题
export class VChart implements IVChart {
static readonly ThemeManager = ThemeManager;
}
但是本质上,ThemeManager 仍然是一个独立的类,只是通过这种方式提供了更便捷的访问方式,这种静态属性暴露的设计模式做到了主题管理和图表渲染的解耦。
主题的配置解析逻辑
VChart 提供了两种方式配置图表主题:
-
通过图表
spec配置 -
通过
ThemeManager注册主题