in src/barChart.ts [706:729]
private handleAverageLineUpdate(height: number, width: number, yScale: ScaleLinear<number, number>) {
let average = this.calculateAverage();
let fontSize = Math.min(height, width) * BarChart.Config.xAxisFontMultiplier;
let chosenColor = this.getColorValue(this.barChartSettings.averageLine.fill);
// If there's no room to place lable above line, place it below
let labelYOffset = fontSize * ((yScale(average) > fontSize * 1.5) ? -0.5 : 1.5);
this.averageLine
.style("font-size", fontSize)
.style("display", (this.barChartSettings.averageLine.show) ? "initial" : "none")
.attr("transform", "translate(0, " + Math.round(yScale(average)) + ")");
this.averageLine.select("#averageLine")
.style("stroke", chosenColor)
.style("stroke-width", "3px")
.style("stroke-dasharray", "6,6")
.attr("x1", 0)
.attr("x1", "" + width);
this.averageLine.select("#averageLineLabel")
.text("Average: " + average.toFixed(2))
.attr("transform", "translate(0, " + labelYOffset + ")")
.style("fill", this.barChartSettings.averageLine.showDataLabel ? chosenColor : "none");
}