Meta

阅读时间约 2 分钟

通过 meta 可以全局化配置图表数据元信息,以字段为单位进行配置。在 meta 上的配置将同时影响所有组件的文本信息。

配置方式

传入以字段名为 key,MetaOption 为 value 的配置,同时设置多个字段的元信息。

{
  meta: {
    [field: string]: MetaOption
  }
}

Example:

{
  meta: {
    sale: {
      min: 0,
      max: 100,
    },
  }
}

细分配置项

MetaOption 配置如下:

MetaOption.type

string optional

声明度量类型:

度量类型描述
分类度量- cat: 分类度量
- timeCat: 时间分类度量
连续度量- linear: 线性度量
- time:连续的时间度量
- log: log 度量
- pow: pow 度量
- quantize:分段度量,用户可以指定不均匀的分段
- quantile: 等分度量,根据数据的分布自动计算分段
常量度量- identity: 常量度量

MetaOption.alias

string optional

数据字段的显示别名,scale 内部不感知,外部注入。

MetaOption.values

any[] optional

输入域、定义域。

MetaOption.formatter

(v: any, k?: number) => any optional

tick 格式化函数,会影响数据在坐标轴 axis、图例 legend、tooltip 上的显示。

MetaOption.range

[number, number] optional default: [0, 1]

输出域、值域,表示在绘图范围内可用于绘制的范围。

MetaOption.sync

boolean | string optional
{
  meta: {
    {
      x: { sync: true },
      y: { sync: true },
      x1: { sync: 'x1' },
      x2: { sync: 'x1' },
    }
  }
}

同步 scale。sync: boolean 即为 sync: [key],如上例中 x: { sync: true } 等同于 x: { sync: 'x' }y: { sync: true } 等同于 y: { sync: 'y' },所以,通过以上配置,会分别对 x 和 y 两个字段,x1 和 x2 两个字段进行同步度量操作。

MetaOption.min

any optional

定义域的最小值,d3 为 domain,ggplot2 为 limits,分类型下无效。

MetaOption.max

any optional

定义域的最大值,分类型下无效。

MetaOption.minLimit

any optional

严格模式下的定义域最小值,设置后会强制 ticks 从最小值开始。

MetaOption.maxLimit

any optional

严格模式下的定义域最大值,设置后会强制 ticks 以最大值结束。

MetaOption.base

number optional

log 有效,底数。

MetaOption.exponent

number optional

pow 有效,指数。

MetaOption.nice

boolean optional

自动调整 min、max 。

MetaOption.ticks

any[] optional

用于指定 tick,优先级最高。

MetaOption.tickInterval

number optional

tick 间隔,只对分类型和时间型适用,优先级高于 tickCount。

MetaOption.minTickInterval

number optional

tick 最小间隔,只对 linear 适用。

MetaOption.tickCount

number optional default: 5

tick 个数。

MetaOption.maxTickCount

number optional default: 10

ticks 最大值。

MetaOption.tickMethod

string | TickMethod optional

计算 ticks 的算法。

MetaOption.showLast

boolean optional

只对 type: 'time' 的 scale 生效,强制显示最后的日期 tick。

MetaOption.mask

string optional

时间度量 time, timeCat 时有效。底层使用 fecha 进行日期的格式,所以对于 mask 的字符串可以直接参考其写法。