主题应用指南
VChart 提供了灵活的主题应用机制,支持在全局和图表实例两个层面应用主题。本文将详细介绍如何应用不同类型的主题,包括默认主题、自定义主题、扩展包主题以及如何扩展已安装的主题。
主题应用范围
VChart 支持两种主题应用范围:
1. 全局应用
通过 ThemeManager.setCurrentTheme() ( https://www.visactor.com/vchart/api/API/theme ) 方法可以设置全局主题,该方法会影响页面上所有已创建的图表实例以及后续创建的图表实例。
2. 图表实例应用
通过图表 spec 的 theme 配置项或通过构造函数( https://www.visactor.com/vchart/api/API/vchart ),可以为单个图表实例应用特定的主题,不会影响其他图表。
也可以通过 setCurrentTheme 实例方法,对当前图表进行动态更新,前提是该主题通过 VChart.ThemeManager.registerTheme 注册过。
vchart.setCurrentTheme('userTheme');
主题类型
1. 默认主题
VChart 内置了 light 和 dark 两个默认主题,无需注册即可直接使用。
全局应用默认主题
图表实例应用默认主题
2. 自定义主题
自定义主题是指用户自己定义的主题配置对象。自定义内容参考:
https://www.visactor.com/vchart/guide/tutorial_docs/Theme/Customize_Theme
全局应用自定义主题
图表实例应用自定义主题
有两种方式:
方式一:通过 spec 的 theme 配置项
方式二:通过实例方法
3. 扩展包主题
VChart 提供了扩展主题包 @visactor/vchart-theme,包含多种开箱即用的主题。
参考: https://www.visactor.com/vchart/guide/tutorial_docs/Theme/Theme_Extension
安装扩展主题包
npm install @visactor/vchart-theme # 或 yarn add @visactor/vchart-theme
全局应用扩展包主题
图表实例应用扩展包主题
4. 扩展已安装的主题
有时候我们需要在已有主题的基础上进行一些定制化修改,而不是完全重新定义。可以通过获取已安装的主题,然后进行扩展。
扩展默认主题
扩展扩展包主题
使用深度合并扩展主题
对于复杂的主题结构,可以使用深度合并工具来扩展主题:
总结
本文介绍了 VChart 主题应用的完整指南:
-
主题应用范围:
- 全局应用:通过
ThemeManager.setCurrentTheme()影响所有图表 - 图表实例应用:通过 spec 的
theme配置项或实例的setCurrentTheme()方法
- 全局应用:通过
-
主题类型:
- 默认主题:VChart 内置的
light和dark主题,无需注册即可使用 - 自定义主题:用户自己定义的主题配置对象
- 扩展包主题:通过
@visactor/vchart-theme包提供的丰富主题 - 扩展已安装的主题:在已有主题基础上进行定制化修改
- 默认主题:VChart 内置的
-
最佳实践:
- 对于需要统一风格的多个图表,使用全局主题
- 对于需要特殊样式的单个图表,使用实例主题
- 对于需要基于现有主题进行微调的场景,使用主题扩展
通过灵活运用这些主题应用方式,您可以轻松实现图表的个性化定制和统一管理。