主题概念和设计规范
The English version is working in progress.
主题简介
VChart 支持对图表主题的整体配置和复用。在概念上,VChart 主题主要由图表布局参数、图表样式以及数据色板组成。
在配置了合适主题的情况下,用户只需要在 spec 中声明图表类型、图表数据以及图表结构(比如要显示的系列和组件等),就可以渲染出符合设计规范和目标风格的图表。
在具体接口定义上,VChart 主题的配置包含以下几个部分:
- 主题信息(主题命名等)
- 图表层级样式(图表背景色、边距等)
- 全局样式(全局字体)
- 色板(包含数据色板、语义色板)
- 图元样式配置
- 系列样式配置
- 组件样式配置
在经验上,色板、图元样式配置、组件样式配置和系列样式配置是一个定义一个新主题最基本的配置。
VChart 默认主题构成
VChart 默认主题的预设可以分为以下几部分:
数据色板
数据色板是在图表中用于区分数据组的离散色板,也通常用于区分图例项。如以下两个图表中不同数据组的色板,在颜色队列中按顺序取色:
数据色板也可以是动态的、渐进式的。比如默认色板会根据数据项数量的范围来动态调整:
如以上规则,数据组不超过 10 个时,采用 10 色的色板;数据组超过 10 个时,采用 20 色的色板。如果数据组超过 20 个,则会重复应用色板颜色,从第 1 个开始。
默认数据色板的具体色值如下表所示:
序号 | 基础 10 色色板(N ≤ 10) | 完整 20 色色板(10 < N ≤ 20) |
1 |
默认
色值:
#1664FF semiDesign
色值:
#1664FF CSS变量:
--semi-color-data-0 arcoDesign
色值:
#4080FF CSS变量:
--color-data-1 |
默认
色值:
#1664FF semiDesign
色值:
#1664FF CSS变量:
--semi-color-data-0 arcoDesign
色值:
#4080FF CSS变量:
--color-data-1 |
2 |
默认
色值:
#1AC6FF semiDesign
色值:
#1AC6FF CSS变量:
--semi-color-data-2 arcoDesign
色值:
#55C5FD CSS变量:
--color-data-3 |
默认
色值:
#B2CFFF semiDesign
色值:
#B2CFFF CSS变量:
--semi-color-data-1 arcoDesign
色值:
#BEDAFF CSS变量:
--color-data-2 |
3 |
默认
色值:
#FF8A00 semiDesign
色值:
#FF8A00 CSS变量:
--semi-color-data-4 arcoDesign
色值:
#FF7D00 CSS变量:
--color-data-5 |
默认
色值:
#1AC6FF semiDesign
色值:
#1AC6FF CSS变量:
--semi-color-data-2 arcoDesign
色值:
#55C5FD CSS变量:
--color-data-3 |
4 |
默认
色值:
#3CC780 semiDesign
色值:
#3CC780 CSS变量:
--semi-color-data-6 arcoDesign
色值:
#4CD263 CSS变量:
--color-data-7 |
默认
色值:
#94EFFF semiDesign
色值:
#94EFFF CSS变量:
--semi-color-data-3 arcoDesign
色值:
#9CDCFC CSS变量:
--color-data-4 |
5 |
默认
色值:
#7442D4 semiDesign
色值:
#7442D4 CSS变量:
--semi-color-data-8 arcoDesign
色值:
#A871E3 CSS变量:
--color-data-9 |
默认
色值:
#FF8A00 semiDesign
色值:
#FF8A00 CSS变量:
--semi-color-data-4 arcoDesign
色值:
#FF7D00 CSS变量:
--color-data-5 |
6 |
默认
色值:
#FFC400 semiDesign
色值:
#FFC400 CSS变量:
--semi-color-data-10 arcoDesign
色值:
#F7BA1E CSS变量:
--color-data-11 |
默认
色值:
#FFCE7A semiDesign
色值:
#FFCE7A CSS变量:
--semi-color-data-5 arcoDesign
色值:
#FFCF8B CSS变量:
--color-data-6 |
7 |
默认
色值:
#304D77 semiDesign
色值:
#304D77 CSS变量:
--semi-color-data-12 arcoDesign
色值:
#9FDB1D CSS变量:
--color-data-13 |
默认
色值:
#3CC780 semiDesign
色值:
#3CC780 CSS变量:
--semi-color-data-6 arcoDesign
色值:
#4CD263 CSS变量:
--color-data-7 |
8 |
默认
色值:
#B48DEB semiDesign
色值:
#B48DEB CSS变量:
--semi-color-data-14 arcoDesign
色值:
#F979B7 CSS变量:
--color-data-15 |
默认
色值:
#B9EDCD semiDesign
色值:
#B9EDCD CSS变量:
--semi-color-data-7 arcoDesign
色值:
#AFF0B5 CSS变量:
--color-data-8 |
9 |
默认
色值:
#009488 semiDesign
色值:
#009488 CSS变量:
--semi-color-data-16 arcoDesign
色值:
#0FC6C2 CSS变量:
--color-data-17 |
默认
色值:
#7442D4 semiDesign
色值:
#7442D4 CSS变量:
--semi-color-data-8 arcoDesign
色值:
#A871E3 CSS变量:
--color-data-9 |
10 |
默认
色值:
#FF7DDA semiDesign
色值:
#FF7DDA CSS变量:
--semi-color-data-18 arcoDesign
色值:
#E865DF CSS变量:
--color-data-19 |
默认
色值:
#DDC5FA semiDesign
色值:
#DDC5FA CSS变量:
--semi-color-data-9 arcoDesign
色值:
#DDBEF6 CSS变量:
--color-data-10 |
11 |
默认
色值:
#FFC400 semiDesign
色值:
#FFC400 CSS变量:
--semi-color-data-10 arcoDesign
色值:
#F7BA1E CSS变量:
--color-data-11 | |
12 |
默认
色值:
#FAE878 semiDesign
色值:
#FAE878 CSS变量:
--semi-color-data-11 arcoDesign
色值:
#FADC6D CSS变量:
--color-data-12 | |
13 |
默认
色值:
#304D77 semiDesign
色值:
#304D77 CSS变量:
--semi-color-data-12 arcoDesign
色值:
#9FDB1D CSS变量:
--color-data-13 | |
14 |
默认
色值:
#8B959E semiDesign
色值:
#8B959E CSS变量:
--semi-color-data-13 arcoDesign
色值:
#C9E968 CSS变量:
--color-data-14 | |
15 |
默认
色值:
#B48DEB semiDesign
色值:
#B48DEB CSS变量:
--semi-color-data-14 arcoDesign
色值:
#F979B7 CSS变量:
--color-data-15 | |
16 |
默认
色值:
#EFE3FF semiDesign
色值:
#EFE3FF CSS变量:
--semi-color-data-15 arcoDesign
色值:
#FB9DC7 CSS变量:
--color-data-16 | |
17 |
默认
色值:
#009488 semiDesign
色值:
#009488 CSS变量:
--semi-color-data-16 arcoDesign
色值:
#0FC6C2 CSS变量:
--color-data-17 | |
18 |
默认
色值:
#59BAA8 semiDesign
色值:
#59BAA8 CSS变量:
--semi-color-data-17 arcoDesign
色值:
#86E8DD CSS变量:
--color-data-18 | |
19 |
默认
色值:
#FF7DDA semiDesign
色值:
#FF7DDA CSS变量:
--semi-color-data-18 arcoDesign
色值:
#E865DF CSS变量:
--color-data-19 | |
20 |
默认
色值:
#FFCFEE semiDesign
色值:
#FFCFEE CSS变量:
--semi-color-data-19 arcoDesign
色值:
#F7BAEF CSS变量:
--color-data-20 |
语义色板
VChart 主题允许为常用的颜色定义 token,以便在图表主题中随处使用,也就是语义色板。语义色板的形式为从 token 到色值的映射表。
为了用于描述可以复用的颜色,VChart 默认主题定义了一套语义色板,并且预设了一套 token,根据这套 token 实现了亮色主题和暗色主题。下表以 1.6.3 版本为准:
分类 | 序号 | token、描述、应用范围和默认色值 | 实际 case(截图来自默认主题真实图表) |
图表层级样式 | 1 |
backgroundColor 背景色
用于图表背景、图元描边。
默认 light
色值:
#ffffff 默认 dark
色值:
#202226 semiDesignLight
色值:
#ffffff CSS变量:
--semi-color-bg-0 semiDesignDark
色值:
#16161a CSS变量:
--semi-color-bg-0 arcoDesignLight
色值:
#ffffff CSS变量:
--color-bg-1 arcoDesignDark
色值:
#17171a CSS变量:
--color-bg-1 |
图表背景色
point 图元描边颜色
数据标签描边颜色
播放器滑块描边颜色
|
2 |
borderColor 图表边框色
用于图表边框(图表内暂时没有实际应用,仅有指导意义)。
默认 light
色值:
#e3e5e8 默认 dark
色值:
#404349 semiDesignLight
色值:
rgba(28,31,35,0.08) CSS变量:
--semi-color-border semiDesignDark
色值:
rgba(255,255,255,0.08) CSS变量:
--semi-color-border arcoDesignLight
色值:
rgba(229,230,235,1) CSS变量:
--color-border arcoDesignDark
色值:
#333335 CSS变量:
--color-border |
图表边框色
| |
公共 | 3 |
shadowColor 默认阴影颜色
用于浮层、滑块等带高度属性的图元阴影。
默认 light
色值:
rgba(33,37,44,0.1) 默认 dark
色值:
rgba(0,0,0,0.1) semiDesignLight
色值:
rgba(0,0,0,0.1) semiDesignDark
色值:
rgba(0,0,0,0.25) arcoDesignLight
色值:
rgba(0,0,0,0.1) arcoDesignDark
色值:
rgba(0,0,0,0.1) |
提示信息阴影颜色
poptip 阴影颜色
颜色图例滑块阴影颜色
|
4 |
hoverBackgroundColor 鼠标 Hover 背景颜色
用于元素在鼠标 hover 状态的背景颜色。
默认 light
色值:
#f1f2f5 默认 dark
色值:
#404349 semiDesignLight
色值:
rgba(46,50,56,0.05) CSS变量:
--semi-color-fill-0 semiDesignDark
色值:
rgba(255,255,255,0.12) CSS变量:
--semi-color-fill-0 arcoDesignLight
色值:
rgba(229,230,235,1) CSS变量:
--color-secondary-hover arcoDesignDark
色值:
rgba(197,197,197,0.16) CSS变量:
--color-secondary-hover |
图例项 hover 背景色
| |
5 |
sliderRailColor 滑块类组件背景条填充颜色
用于滑块类组件背景条的填充颜色。
默认 light
色值:
#f1f3f4 默认 dark
色值:
#404349 semiDesignLight
色值:
rgba(46,50,56,0.05) CSS变量:
--semi-color-fill-0 semiDesignDark
色值:
rgba(255,255,255,0.12) CSS变量:
--semi-color-fill-0 arcoDesignLight
色值:
rgba(229,230,235,1) CSS变量:
--color-fill-3 arcoDesignDark
色值:
hsla(0,0%,100%,0.12) CSS变量:
--color-fill-3 |
缩略轴背景区域颜色
播放器未播放轨道颜色
颜色图例轨道颜色
尺寸图例轨道颜色
| |
6 |
sliderHandleColor 滑块类组件滑块填充颜色
用于滑块类组件滑块的填充颜色。
默认 light
色值:
#ffffff 默认 dark
色值:
#202226 semiDesignLight
色值:
rgba(255,255,255,1) CSS变量:
--semi-white semiDesignDark
色值:
#e4e7f5 CSS变量:
--semi-white arcoDesignLight
色值:
#ffffff CSS变量:
--color-bg-2 arcoDesignDark
色值:
#232324 CSS变量:
--color-bg-2 |
缩略轴滑块填充颜色
尺寸图例滑块填充颜色
| |
7 |
sliderTrackColor 滑块类组件已选范围填充颜色
用于滑块类组件已选范围的填充颜色。
默认 light
色值:
#0040ff 默认 dark
色值:
#4284FF semiDesignLight
色值:
rgba(0,100,250,1) CSS变量:
--semi-color-primary semiDesignDark
色值:
rgba(84,169,255,1) CSS变量:
--semi-color-primary arcoDesignLight
色值:
rgba(22,93,255,1) CSS变量:
--primary-6 arcoDesignDark
色值:
rgba(60,126,255,1) CSS变量:
--primary-6 |
缩略轴选择区域颜色
播放器已播放轨道颜色
尺寸图例选中部分轨道颜色
| |
8 |
popupBackgroundColor 浮层背景区域颜色
用于浮层的背景区域颜色。
默认 light
色值:
#ffffff 默认 dark
色值:
#404349 semiDesignLight
色值:
rgba(255,255,255,1) CSS变量:
--semi-color-bg-3 semiDesignDark
色值:
#43444a CSS变量:
--semi-color-bg-3 arcoDesignLight
色值:
rgba(255,255,255,1) CSS变量:
--color-bg-popup arcoDesignDark
色值:
#373739 CSS变量:
--color-bg-popup |
提示信息背景框颜色
poptip 背景框颜色
| |
字体颜色 | 9 |
primaryFontColor 主要字色
颜色和背景色差异最大的字色,用于最显要的信息展示。
默认 light
色值:
#21252c 默认 dark
色值:
#fdfdfd semiDesignLight
色值:
rgba(28,31,35,1) CSS变量:
--semi-color-text-0 semiDesignDark
色值:
rgba(249,249,249,1) CSS变量:
--semi-color-text-0 arcoDesignLight
色值:
rgba(29,33,41,1) CSS变量:
--color-text-1 arcoDesignDark
色值:
hsla(0,0%,100%,0.9) CSS变量:
--color-text-1 |
图表主标题字色
指标卡主要字色
poptip 标题字色
poptip 内容字色
提示信息标题字色
Mark-line 标签字色
Mark-area 标签字色
图例标题字色
|
10 |
secondaryFontColor 次要字色
颜色和背景色差异较小的字色,用于次要的信息展示。
默认 light
色值:
#606773 默认 dark
色值:
#888c93 semiDesignLight
色值:
rgba(28,31,35,0.8) CSS变量:
--semi-color-text-1 semiDesignDark
色值:
rgba(249,249,249,0.8) CSS变量:
--semi-color-text-1 arcoDesignLight
色值:
rgba(78,89,105,1) CSS变量:
--color-text-2 arcoDesignDark
色值:
hsla(0,0%,100%,0.7) CSS变量:
--color-text-2 |
轴标题字色
图例标签字色
提示信息数据 key 字色
缩略轴标签字色
| |
11 |
tertiaryFontColor 第三字色
颜色和背景色差异更小的字色,用于更次要的信息展示。
默认 light
色值:
#89909d 默认 dark
色值:
#bbbdc3 semiDesignLight
色值:
rgba(28,31,35,0.62) CSS变量:
--semi-color-text-2 semiDesignDark
色值:
rgba(249,249,249,0.6) CSS变量:
--semi-color-text-2 arcoDesignLight
色值:
rgba(134,144,156,1) CSS变量:
--color-text-3 arcoDesignDark
色值:
hsla(0,0%,100%,0.5) CSS变量:
--color-text-3 |
图表副标题字色
指标卡次要字色
| |
12 |
axisLabelFontColor 轴标签字色
用于轴标签字色,默认与第三字色颜色相同。
默认 light
色值:
#89909d 默认 dark
色值:
#bbbdc3 semiDesignLight
色值:
rgba(28,31,35,0.62) CSS变量:
--semi-color-text-2 semiDesignDark
色值:
rgba(249,249,249,0.6) CSS变量:
--semi-color-text-2 arcoDesignLight
色值:
rgba(134,144,156,1) CSS变量:
--color-text-3 arcoDesignDark
色值:
hsla(0,0%,100%,0.5) CSS变量:
--color-text-3 |
轴标签字色
| |
13 |
disableFontColor 禁用字色
用于禁用状态字色或非激活态字色。
默认 light
色值:
#bcc1cb 默认 dark
色值:
#55595f semiDesignLight
色值:
rgba(28,31,35,0.35) CSS变量:
--semi-color-disabled-text semiDesignDark
色值:
rgba(249,249,249,0.35) CSS变量:
--semi-color-disabled-text arcoDesignLight
色值:
rgba(201,205,212,1) CSS变量:
--color-text-4 arcoDesignDark
色值:
hsla(0,0%,100%,0.3) CSS变量:
--color-text-4 |
非激活态图例标签字色
| |
14 |
axisMarkerFontColor 轴高亮标记字色
用于轴 标签上的高亮标记字色。
默认 light
色值:
#ffffff 默认 dark
色值:
#202226 semiDesignLight
色值:
#ffffff CSS变量:
--semi-color-bg-0 semiDesignDark
色值:
#16161a CSS变量:
--semi-color-bg-0 arcoDesignLight
色值:
#ffffff CSS变量:
--color-bg-1 arcoDesignDark
色值:
#17171a CSS变量:
--color-bg-1 |
十字准星标签字色
| |
轴样式 | 15 |
axisGridColor 轴网格线颜色
用于轴网格线颜色以及同级的颜色。
默认 light
色值:
#f1f2f5 默认 dark
色值:
#404349 semiDesignLight
色值:
rgba(28,31,35,0.08) CSS变量:
--semi-color-border semiDesignDark
色值:
rgba(255,255,255,0.08) CSS变量:
--semi-color-border arcoDesignLight
色值:
rgba(229,230,235,1) CSS变量:
--color-border arcoDesignDark
色值:
#333335 CSS变量:
--color-border |
轴网格线颜色
十字准星矩形颜色
|
16 |
axisDomainColor 轴线颜色
用于轴线颜色以及同级的颜色。
默认 light
色值:
#d9dde4 默认 dark
色值:
#4b4f54 semiDesignLight
色值:
rgba(28,31,35,0.15) CSS变量:
--semi-grey-9 semiDesignDark
色值:
rgba(255,255,255,0.08) CSS变量:
--semi-color-border arcoDesignLight
色值:
rgba(229,230,235,1) CSS变量:
--color-neutral-3 arcoDesignDark
色值:
rgba(72,72,73,1) CSS变量:
--color-neutral-3 |
轴线颜色
| |
缩略轴 | 17 |
dataZoomHandlerStrokeColor 缩略轴滑块描边颜色
用于缩略轴滑块描边颜色以及同级的颜色。
默认 light
色值:
#aeb5be 默认 dark
色值:
#888c93 semiDesignLight
色值:
rgba(46,50,56,0.13) CSS变量:
--semi-color-fill-2 semiDesignDark
色值:
rgba(46,50,56,0.13) arcoDesignLight
色值:
rgba(169,174,184,1) CSS变量:
--color-neutral-5 arcoDesignDark
色值:
rgba(120,120,122,1) CSS变量:
--color-neutral-5 |
缩略轴滑块描边颜色
|
18 |
dataZoomChartColor 缩略轴图表区域颜色
用于缩略轴预览图表的颜色以及同级的颜色。
默认 light
色值:
#c9ced8 默认 dark
色值:
#55595F semiDesignLight
色值:
rgba(46,50,56,0.09) CSS变量:
--semi-color-fill-1 semiDesignDark
色值:
rgba(255,255,255,0.16) CSS变量:
--semi-color-fill-1 arcoDesignLight
色值:
rgba(201,205,212,1) CSS变量:
--color-fill-4 arcoDesignDark
色值:
hsla(0,0%,100%,0.16) CSS变量:
--color-fill-4 |
缩略轴图表区域颜色
尺寸图例尺寸标识颜色
| |
播放器 | 19 |
playerControllerColor 播放器控制器填充颜色
用于播放器控制器的填充颜色。
默认 light
色值:
#0040ff 默认 dark
色值:
#0040ff semiDesignLight
色值:
rgba(0,100,250,1) CSS变量:
--semi-color-primary semiDesignDark
色值:
rgba(84,169,255,1) CSS变量:
--semi-color-primary arcoDesignLight
色值:
rgba(22,93,255,1) CSS变量:
--primary-6 arcoDesignDark
色值:
rgba(60,126,255,1) CSS变量:
--primary-6 |
播放器按钮颜色
播放器滑块颜色
|
滚动条 | 20 |
scrollBarSliderColor 滚动条滑块颜色
用于滚动条滑块的填充颜色。
默认 light
色值:
rgba(0,0,0,0.3) 默认 dark
色值:
rgba(255,255,255,0.3) semiDesignLight
色值:
rgba(0,0,0,0.3) semiDesignDark
色值:
rgba(255,255,255,0.3) arcoDesignLight
色值:
rgba(0,0,0,0.3) arcoDesignDark
色值:
rgba(255,255,255,0.3) |
滚动条滑块颜色
|
标注 | 21 |
axisMarkerBackgroundColor 轴高亮标记背景色
用于轴标签上的高亮标记背景色。
默认 light
色值:
#21252c 默认 dark
色值:
#fdfdfd semiDesignLight
色值:
rgba(28,31,35,1) CSS变量:
--semi-color-text-0 semiDesignDark
色值:
rgba(249,249,249,1) CSS变量:
--semi-color-text-0 arcoDesignLight
色值:
rgba(29,33,41,1) CSS变量:
--color-text-1 arcoDesignDark
色值:
hsla(0,0%,100%,0.9) CSS变量:
--color-text-1 |
十字准星标签背景色
|
22 |
markLabelBackgroundColor 标注标签背景颜色
用于普通标注标签的背景颜色。
默认 light
色值:
#f1f2f5 默认 dark
色值:
#404349 semiDesignLight
色值:
rgba(28,31,35,0.08) CSS变量:
--semi-color-border semiDesignDark
色值:
rgba(255,255,255,0.08) CSS变量:
--semi-color-border arcoDesignLight
色值:
rgba(229,230,235,1) CSS变量:
--color-border arcoDesignDark
色值:
#333335 CSS变量:
--color-border |
Mark-line 标签背景色
Mark-area 标签背景色
| |
23 |
markLineStrokeColor 标注线颜色
用于普通标注线的颜色。
默认 light
色值:
#606773 默认 dark
色值:
#888c93 semiDesignLight
色值:
rgba(28,31,35,0.8) CSS变量:
--semi-color-text-1 semiDesignDark
色值:
rgba(249,249,249,0.8) CSS变量:
--semi-color-text-1 arcoDesignLight
色值:
rgba(78,89,105,1) CSS变量:
--color-text-2 arcoDesignDark
色值:
hsla(0,0%,100%,0.7) CSS变量:
--color-text-2 |
Mark-line 线条颜色
十字准星线形颜色
Mark-point 线条颜色
| |
功能色 | 24 |
dangerColor 危险色
危险、错误、失败、盈利、上升、女性。
默认 light
色值:
#e33232 默认 dark
色值:
#eb4b4b semiDesignLight
色值:
rgba(249,57,32,1) CSS变量:
--semi-color-danger semiDesignDark
色值:
rgba(252,114,90,1) CSS变量:
--semi-color-danger arcoDesignLight
色值:
rgba(245,63,63,1) CSS变量:
--danger-6 arcoDesignDark
色值:
rgba(247,105,101,1) CSS变量:
--danger-6 | 无内置应用场景 |
25 |
warningColor 警告色
预警、警示。
默认 light
色值:
#ffc528 默认 dark
色值:
#f0bd30 semiDesignLight
色值:
rgba(252,136,0,1) CSS变量:
--semi-color-warning semiDesignDark
色值:
rgba(255,174,67,1) CSS变量:
--semi-color-warning arcoDesignLight
色值:
rgba(255,125,0,1) CSS变量:
--warning-6 arcoDesignDark
色值:
rgba(255,150,38,1) CSS变量:
--warning-6 | 无内置应用场景 | |
26 |
successColor 成功色
安全、正确、成功、亏损、下降。
默认 light
色值:
#07a35a 默认 dark
色值:
#14b267 semiDesignLight
色值:
rgba(59,179,70,1) CSS变量:
--semi-color-success semiDesignDark
色值:
rgba(93,194,100,1) CSS变量:
--semi-color-success arcoDesignLight
色值:
rgba(0,180,42,1) CSS变量:
--success-6 arcoDesignDark
色值:
rgba(39,195,70,1) CSS变量:
--success-6 | 无内置应用场景 | |
27 |
infoColor 信息色
正常、寒冷、男性。
默认 light
色值:
#3073f2 默认 dark
色值:
#4284ff semiDesignLight
色值:
rgba(0,100,250,1) CSS变量:
--semi-color-info semiDesignDark
色值:
rgba(84,169,255,1) CSS变量:
--semi-color-info arcoDesignLight
色值:
rgba(22,93,255,1) CSS变量:
--arcoblue-6 arcoDesignDark
色值:
rgba(60,126,255,1) CSS变量:
--arcoblue-6 | 无内置应用场景 |
VChart 主题模块支持自定义语义色板,同时可以定义新的 token 集合,在主题或 spec 各处引用 token 以引用对应颜色,具体详见“色板”一节。
字色与字阶
在默认主题中,文字色大致分以下四档,具体应用可见上文的 token 列表。
同时,字号和行间距在官方主题中分为以下 6 阶:
字阶 | 字重 | 字号 | 行高(仅作指导意义) | 字间距(仅作指导意义) | 应用范围(截图来自实际图表) |
1
| Medium | 32px | 1.5 | -0.5 |
指标卡标题
|
2
| Medium | 20px | 1.4 | -0.4 |
指标卡内容
|
3
| Medium | 16px | 1.5 | -0.2 |
图表标题
|
4(默认)
| Medium | 14px | 1.5 | 0 |
数据标签
Mark-line 标签
Mark-area 标签
提示信息
图表副标题
|
5
| Regular | 12px | 1.3 | 0 |
poptip
图例标题
图例标签
颜色图例标签
尺寸图例标签
缩略轴标签
十字准星标签
轴标题
轴标签
一些其他系列的标签,如:时序图、旭日图、矩形树图、嵌套圆图系列等
|
6
| Regular | 10px | 1.2 | 0 |
地图标签
|
组件布局
默认主题规范中定义了组件和图表的布局参数。下面以带图例的图表在 pc 端的布局参数为例:
目前默认主题中高频组件的布局参数如下:
图表元素(组件)
|
位置和对齐
|
边距(padding)
|
示例
|
图表整体
|
无
|
20 20 20 20 |
|
标题
|
top,左对齐
|
4 0 20 0 | |
离散图例
|
bottom,居中对齐
|
16 24 16 24 | |
缩略轴
|
跟随轴
|
12 0 12 0 |
|
颜色图例
|
right,竖直居中对齐
|
16 24 16 24 |
|
尺寸图例
|
right,竖直居中对齐
|
16 24 16 24 |
|
播放器
|
bottom,左对齐
|
20 0 20 0 |
扩展主题 ABC
如果面向一个新的设计规范扩展 VChart 主题,需要解决哪些可能的问题?
1. 产出一套或多套数据色板
通常面向组件库的设计规范并不会直接对图表的数据色板形成指导,因此这个问题可能是最复杂的。新的数据色板需要满足以下要求:
- 色板符合目标设计规范,符合目标业务场景的调性
- 色板颜色足够多(通常 10 种颜色左右或更多)
- 相邻颜色区分度强,图表展现效果好
- 色板整体符合某个特定的风格
- 可访问性强,如对色弱人士友好等
数据色板是一个图表主题最容易被直观感受到的部分,因此尤为重要。
2. 将 目标设计规范的 token 翻译为图表语义色板 token
目前默认主题的语义色板中的颜色是由 Arco Design 定义的颜色转化而来,其中很多颜色可以用 Arco Design 的 token 来表示。
如果要面向新的设计规范扩展图表主题,也需要经历这个步骤,即用目标设计规范定义的颜色来填充上文中语义色板的表格,或者直接定义新的 token 集合(如果这个设计规范下有现成的图表 demo,将会大大方便这一步骤)。
3. 图表组件定制与布局调整
在新的设计规范所对应的业务场景中,可能会对部分组件的样式有定制需求。这时需要收集具体需求并在主题中进行定制。
图表布局往往也需要根据业务场景的特点进行调整。
4. 交互效果、跨端
默认交互效果以及跨端优化也有很大一部分可以通过图表主题来配置,属于对主题进一步的定制。这部分同样需要收集具体需求和已经落地的案例,在主题中抽象出最佳实践并进行沉淀。
下一节将详细讲述 VChart 的主题配置功能。