in src/visual.ts [1156:1203]
private getLabelLayout(): ILabelLayout {
let labelSettings: HistogramLabelSettings = this.data.settings.labels,
xScale: LinearScale<any, any> = this.data.xScale,
yScale: LinearScale<any, any> = this.data.yScale,
fontSizeInPx: string = PixelConverter.fromPoint(labelSettings.fontSize),
fontFamily: string = dataLabelUtils.LabelTextProperties.fontFamily,
dataLabelFormatter: IValueFormatter = ValueFormatter.create({
value: labelSettings.displayUnits,
precision: labelSettings.precision
});
return {
labelText: (dataPoint: HistogramDataPoint) => {
return dataLabelFormatter.format(dataPoint.y).toString();
},
labelLayout: {
x: (dataPoint: HistogramDataPoint) => {
let x: number,
dx: number;
x = xScale(dataPoint.x0);
dx = dataPoint.size.width / Default.DataLabelXOffset
- this.columnWidth / Default.MiddleFactor;
return x - dx;
},
y: (dataPoint: HistogramDataPoint) => {
let y: number,
dy: number,
delta: number;
y = yScale(dataPoint.y);
dy = dataPoint.size.height;
delta = y - dy;
return delta < 0 ? y + dy / 2 : delta;
}
},
filter: (dataPoint: HistogramDataPoint) => {
return dataPoint != null;
},
style: {
"fill": labelSettings.color,
"font-size": fontSizeInPx,
"font-family": fontFamily
}
};
}