{
const sequence = vl.sequence(...arrSequences[trigFunction]).as("x");
const expression = trigFunction[0] != "a" ? `${trigFunction}(datum.x * PI / 180)`
: `${trigFunction}(datum.x) * 180 / PI`;
const trigTransform = vl.calculate(expression).as("y");
const xTitle = trigFunction[0] != "a" ? `θ (degrees)` : trigFunction.substring(1,4) ;
const yTitle = trigFunction + "(" + ( trigFunction[0] != "a" ? "θ)" : trigFunction.substring(1,4) + ") (degrees)");
return vl.markLine()
.data(sequence)
.transform(trigTransform)
.width(width)
.autosize({type: 'fit-x', contains: 'padding'})
.encode(
vl.x().fieldQ("x").title(xTitle),
vl.y().fieldQ("y").title(yTitle)
)
.render();
}