/ / Charts3.0 - Kann nicht alle xAxis-Labels anzeigen, wenn mehr als 8 Werte vorhanden sind - Swift - Swift, Charts

Charts3.0 - Kann nicht alle xAxis-Label anzeigen, wenn mehr als 8 Werte vorhanden sind - Swift - swift, Charts

Ich musste ein Balkendiagramm erstellen, das die 9 Kategorien für die xAxis hatte: ["Nahrungsmittel", "Hauskredit", "Versicherung", "Benzin", "Einsparung", "Zug", "Andere", "Bücher & Magazine", "Parkplatz"]

Aber in den Charts zeigt es nur: Lebensmittel, Versicherung, Sparen, Sonstiges und Parkplatz

Weiß jemand, wie man es löst?

Hier der Quellcode zum Einstellen von xAxis

func setChart(dataPoints: [String], values: [Double]) {
var dataEntries: [BarChartDataEntry] = []

for i in 0..<dataPoints.count {

let value = values[i] as Double
let dataEntry = BarChartDataEntry(x: Double(i), y:value)
dataEntries.append(dataEntry)
}

let chartDataSet = BarChartDataSet(values: dataEntries, label: "Total Amount")

var colors: [UIColor] = []
for _ in 0..<dataPoints.count {
let red = Double(arc4random_uniform(256))
let green = Double(arc4random_uniform(256))
let blue = Double(arc4random_uniform(256))

let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1)
colors.append(color)
}

chartDataSet.colors = colors
chartDataSet.colors = ChartColorTemplates.joyful()
barChartView.chartDescription?.text = ""

barChartView.xAxis.labelPosition = .bottom
barChartView.xAxis.drawGridLinesEnabled = false
barChartView.xAxis.granularityEnabled = true
barChartView.xAxis.granularity = 1.0
barChartView.xAxis.decimals = 0

let chartData = BarChartData()
chartData.addDataSet(chartDataSet)
barChartView.data = chartData
barChartView.xAxis.valueFormatter = self

let format = NumberFormatter()
format.numberStyle = .decimal
let formatter = DefaultValueFormatter(formatter: format)
chartData.setValueFormatter(formatter)
barChartView.animate(xAxisDuration: TimeInterval(1))
}

Bildbeschreibung hier eingeben

Antworten:

1 für die Antwort № 1

Sie müssen nur die Labelanzahl einstellen. barChartView.xAxis.labelCount = dataPoints.count