in src/visualComponent/svgComponent.ts [129:183]
public render(options: ISvgComponentRenderOptions): void {
const {
data: {
groups: [firstGroup, secondGroup],
settings,
viewport,
margin,
x: { values, scale },
},
additionalMargin,
} = options;
const reducedViewport: powerbi.IViewport = {
height: Math.max(0, viewport.height - margin.top - margin.bottom),
width: Math.max(0, viewport.width - margin.left - margin.right),
};
this.updateViewport(reducedViewport);
this.updateMargin(margin, additionalMargin);
this.positions = this.getPositions(reducedViewport, values, scale);
this.renderOptions = {
...options,
data: {
...options.data,
viewport: reducedViewport,
},
};
this.xAxisReferenceLineComponent.render({
scale,
settings: settings.referenceLineOfXAxis,
ticks: options.xTicks,
viewport: reducedViewport,
});
this.yAxisReferenceLineComponent.render({
scale: firstGroup && firstGroup.y && firstGroup.y.scale,
settings: settings.referenceLineOfYAxis,
ticks: options.yTicks,
viewport: reducedViewport,
});
this.secondaryYAxisReferenceLineComponent.render({
scale: secondGroup && secondGroup.y && secondGroup.y.scale,
settings: settings.secondaryReferenceLineOfYAxis,
ticks: options.secondaryYTicks,
viewport: reducedViewport,
});
this.chartComponent.render(this.renderOptions);
this.labelsComponent.render(this.renderOptions);
}