vega-lite
Version:
Vega-Lite is a concise high-level language for interactive visualization.
46 lines (43 loc) • 1.27 kB
text/typescript
import {UnitModel} from '../unit.js';
import {MarkCompiler} from './base.js';
import * as encode from './encode/index.js';
export const line: MarkCompiler = {
vgMark: 'line',
encodeEntry: (model: UnitModel) => {
return {
...encode.baseEncodeEntry(model, {
align: 'ignore',
baseline: 'ignore',
color: 'include',
size: 'ignore',
orient: 'ignore',
theta: 'ignore',
}),
...encode.pointPosition('x', model, {defaultPos: 'mid'}),
...encode.pointPosition('y', model, {defaultPos: 'mid'}),
...encode.nonPosition('size', model, {
vgChannel: 'strokeWidth', // VL's line size is strokeWidth
}),
...encode.defined(model),
};
},
};
export const trail: MarkCompiler = {
vgMark: 'trail',
encodeEntry: (model: UnitModel) => {
return {
...encode.baseEncodeEntry(model, {
align: 'ignore',
baseline: 'ignore',
color: 'include',
size: 'include',
orient: 'ignore',
theta: 'ignore',
}),
...encode.pointPosition('x', model, {defaultPos: 'mid'}),
...encode.pointPosition('y', model, {defaultPos: 'mid'}),
...encode.nonPosition('size', model),
...encode.defined(model),
};
},
};