HorizontalBarChart legend positioning bug on different character lengths.
- Dominant language
- Swift
- Stars
- 28k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
With a pretty standard code below, this weird issue occurs on when changing the amount of characters on each data set label.
```
func prepareHorizontalBarChart() {
var entries1 = [BarChartDataEntry]()
var entries2 = [BarChartDataEntry]()
var entries3 = [BarChartDataEntry]()
let bar1 = BarChartDataEntry(x: Double(0), y: Double(4))
entries1.append(bar1)
let bar2 = BarChartDataEntry(x: Double(1), y: Double(6))
entries2.append(bar2)
let bar3 = BarChartDataEntry(x: Double(2), y: Double(2))
entries3.append(bar3)
let set1 = BarChartDataSet(values: entries1, label: "Lorem ipsum dolor sit amet, consectetur adipiscing elit")
set1.drawIconsEnabled = false
let set2 = BarChartDataSet(values: entries2, label: "Lorem ipsum dolor sit amet, consectetur adipiscing elit")
set1.drawIconsEnabled = false
let set3 = BarChartDataSet(values: entries3, label: "Lorem ipsum dolor sit amet, consectetur adipiscing elit")
set1.drawIconsEnabled = false
set1.colors = [UIColor.purple]
set2.colors = [UIColor.magenta]
set3.colors = [UIColor.red]
let data = BarChartData(dataSets: [set1, set2, set3])
data.setValueFont(UIFont(name: "HelveticaNeue-Light", size: 10))
data.barWidth = 0.2
horizontalBarChart.zoomOut()
horizontalBarChart.fitBars = true
horizontalBarChart.data = data
horizontalBarChart.xAxis.drawGridLinesEnabled = false // disable horizontal grid lines
horizontalBarChart.xAxis.enabled = false
horizontalBarChart.chartDescription?.enabled = false
horizontalBarChart.rightAxis.enabled = false
horizontalBarChart.leftAxis.axisMinimum = 0
horizontalBarChart.legend.verticalAlignment = .top
horizontalBarChart.legend.horizontalAlignment = .center
horizontalBarChart.legend.orientation = .vertical
horizontalBarChart.animate(xAxisDuration: 2.0, yAxisDuration: 2.0)
}
```

Then with lesser characters would look like this

Contributor guide
Assessment
This issue has not been assessed yet.