自定义主题
在前面的章节中,我们介绍了主题和色板的基本配置。本节将详细介绍如何配置和更新自定义主题。
配置主题
VChart 提供了两种方式配置图表主题:通过图表 spec 配置主题以及通过 ThemeManager 注册主题。接下来,我们将分别介绍这两种方法的使用。
通过 spec 配置主题
在定义 图表时,我们可以直接将符合 ITheme 类型的主题对象传入图表 spec 的 theme 配置项,从而应用这个自定义主题。下面的示例演示了如何为一个柱状图设置一个自定义的主题:
通过 ThemeManager 注册主题
VChart 还提供了一个名为ThemeManager的主题管理器,你可以使用它来全局注册自定义主题。同时也可以用 ThemeManager.setCurrentTheme 通过主题名称来应用已注册的主题。
更新主题
在某些应用场景下,我们可能需要根据用户的操作或其他状态来动态更新图表的主题。下面将介绍如何热更新单个图表实例和全局图表实例的主题:
更新单个实例的主题
VChart 实例提供了 setCurrentTheme 方法用于实现这一功能。用户需要在ThemeManager注册主题后,通过主题名称来更新已注册的主题。
通过 ThemeManager 更新所有图表的主题
在ThemeManager注册主题后,可以用 ThemeManager.setCurrentTheme 通过主题名称来热更新已注册的主题。注意:这个方法将影响页面上的所有图表实例。
大屏场景下的主题配置实践
对于大屏这一重表现、轻分析的场景而言,主题样式尤为重要。依托于 VChart 的主题注册能配置,大屏或其他类似业务场景能够通过简单的定义和设计切换全局样式。

根据效果的设计,图表的样式分为「色板」、「图元样式」、「组件样式」这三个模块。
- 「色板」的提炼来自于业务沉淀,在此开放出来以供大家参考: https://github.com/VisActor/VChart/blob/develop/docs/assets/themes/colors.json。
- 「图元样式」为渐变效果,通过图元渐变配置实现。
- 「组件样式」则通过各个组件的具体配置实现。
最终将这些配置写入主题中,再通过主题的注册和切换即可实现不同场景下的图表样式效果。
当然,VChart 内部也内置了两套主题,用户无需注册就可以使用,它们的具体配置如下:
- dark: https://github.com/VisActor/VChart/blob/develop/docs/assets/themes/dark.json
- light: https://github.com/VisActor/VChart/blob/develop/docs/assets/themes/color.json
下面这个示例展示了上述过程:
总结
在这个章节中,我们学习了主题和色板配置,以及如何使用自定义主题为图表设置个性化的样式,并介绍了两种注册自定义主题的方法。此外,我们还学习了如何根据需要动态更新图表主题。了解这些技巧后,你将能够更好地使用 VChart 来展示漂亮且易于理解的数据可视化效果。希望本教程能帮助你快速上手,让数据可视化变得更简单,更有趣!