function radial({ radius, angle, ...options }) {
const [X, setX] = Plot.column();
const [Y, setY] = Plot.column();
options = Plot.transform(options, (data, facets) => {
const R = Plot.valueof(data, radius);
const A = Plot.valueof(data, angle);
const X = new Float64Array(R.length);
const Y = new Float64Array(R.length);
setX(X);
setY(Y);
for (let i = 0; i < R.length; ++i) {
const [x, y] = d3.pointRadial(A[i], R[i]);
X[i] = x;
Y[i] = y;
}
return { data, facets };
});
return { x: X, y: Y, ...options };
}