diff --git a/bar_chart.go b/bar_chart.go index 8219472..d8a307e 100644 --- a/bar_chart.go +++ b/bar_chart.go @@ -168,14 +168,16 @@ func (b *barChart) render(result *defaultRenderResult, seriesList SeriesList) (B } y := barMaxHeight - h radians := float64(0) - var fontColor Color + fontColor := series.Label.Color if series.Label.Position == PositionBottom { y = barMaxHeight radians = -math.Pi / 2 - if isLightColor(fillColor) { - fontColor = defaultLightFontColor - } else { - fontColor = defaultDarkFontColor + if fontColor.IsZero() { + if isLightColor(fillColor) { + fontColor = defaultLightFontColor + } else { + fontColor = defaultDarkFontColor + } } } labelPainter.Add(LabelValue{ diff --git a/horizontal_bar_chart.go b/horizontal_bar_chart.go index 1340103..95d9a3d 100644 --- a/horizontal_bar_chart.go +++ b/horizontal_bar_chart.go @@ -149,19 +149,22 @@ func (h *horizontalBarChart) render(result *defaultRenderResult, seriesList Seri continue } labelValue := LabelValue{ - Orient: OrientHorizontal, - Index: index, - Value: item.Value, - X: right, - Y: y + barHeight>>1, - Offset: series.Label.Offset, + Orient: OrientHorizontal, + Index: index, + Value: item.Value, + X: right, + Y: y + barHeight>>1, + Offset: series.Label.Offset, + FontColor: series.Label.Color, } if series.Label.Position == PositionLeft { labelValue.X = 0 - if isLightColor(fillColor) { - labelValue.FontColor = defaultLightFontColor - } else { - labelValue.FontColor = defaultDarkFontColor + if labelValue.FontColor.IsZero() { + if isLightColor(fillColor) { + labelValue.FontColor = defaultLightFontColor + } else { + labelValue.FontColor = defaultDarkFontColor + } } } labelPainter.Add(labelValue)