Hallo nochmal, zuerst möchte ich mich bedanken, dass Sie so schnell auf meine letzte Ausgabe geantwortet haben. Ich habe aber noch eine andere Frage. Beim Erstellen eines Balkendiagramms mit Beschriftungen unten wird die allererste Beschriftung versetzt und nicht direkt unter dem jeweiligen Balken.
Ich habe mir die Demo angeschaut und alle meine Einstellungen entsprechend angepasst: chartView.isUserInteractionEnabled = false
chartView.chartDescription?.text = ""
chartView.drawBarShadowEnabled = false
chartView.rightAxis.drawGridLinesEnabled = false
chartView.rightAxis.drawAxisLineEnabled = false
chartView.rightAxis.drawLabelsEnabled = false
chartView.xAxis.avoidFirstLastClippingEnabled = true
chartView.xAxis.centerAxisLabelsEnabled = false
chartView.xAxis.drawLimitLinesBehindDataEnabled = false
chartView.xAxis.labelPosition = .bottom
chartView.xAxis.labelCount = 3
chartView.xAxis.axisMinimum = -0.5
chartView.xAxis.axisMaximum = 3
chartView.xAxis.drawGridLinesEnabled = false
chartView.fitBars = true
chartView.xAxis.granularity = 1
Ich bin mir nicht sicher, welche anderen Eigenschaften ich ausprobieren soll. Ich würde mich über die Anleitung freuen. Danke noch einmal
Hier ist die gesamte Funktion, die ich aufrufe, um den Graphen `func setUpChart(delegate: IAxisValueFormatter){ einzurichten.
var dataEntries = [BarChartDataEntry]()
var barChartDataSet = BarChartDataSet()
for i in 0..<items.count {
let de = BarChartDataEntry(x: Double(i), yValues: [itemsValues[i]])
dataEntries.append(de)
}
barChartDataSet = BarChartDataSet(values: dataEntries , label: "Monthly Income")
chartView.isUserInteractionEnabled = false
chartView.chartDescription?.text = ""
chartView.drawBarShadowEnabled = false
chartView.rightAxis.drawGridLinesEnabled = false
chartView.rightAxis.drawAxisLineEnabled = false
chartView.rightAxis.drawLabelsEnabled = false
chartView.xAxis.avoidFirstLastClippingEnabled = true
chartView.xAxis.centerAxisLabelsEnabled = false
chartView.xAxis.drawLimitLinesBehindDataEnabled = false
chartView.xAxis.labelPosition = .bottom
chartView.xAxis.labelCount = 3
chartView.xAxis.axisMinimum = -0.5
chartView.xAxis.axisMaximum = 3
chartView.xAxis.drawGridLinesEnabled = false
chartView.fitBars = true
chartView.xAxis.granularity = 1
chartView.xAxis.valueFormatter = delegate
barChartDataSet.colors = ChartColorTemplates.colorful()
self.chartView.animate(xAxisDuration: 1.5, yAxisDuration: 1.5, easingOption: .easeInOutCirc)
let bcData = BarChartData(dataSet: barChartDataSet)
bcData.barWidth = 0.5
self.chartView.data = bcData
}`
Deaktivieren Sie avoidFirstLastClippingEnabled
. Die Aktivierung hat die Wirkung. Es sieht aus wie ein Bug.
Hatte ein ähnliches Problem mit Liniendiagrammen, das erste Label auf der xAxis ist deaktiviert.
Die einzige Möglichkeit, das Problem zu beheben, besteht darin, xAxis.centerAxisLabelsEnabled = true
aber ich vermute, dass meine Hervorhebung deaktiviert ist.
Hier ist mein xAxis-Code. Jede Hilfe ist willkommen.
func setupXAxisFormatting() {
let xAxis = lineChartView.xAxis
xAxis.enabled = true
xAxis.drawGridLinesEnabled = false
xAxis.drawLabelsEnabled = true
xAxis.drawAxisLineEnabled = false
xAxis.centerAxisLabelsEnabled = true //would rather fix another way
xAxis.labelPosition = .bottom
xAxis.labelTextColor = UIColor.gray
xAxis.labelFont = UIFont(name: Constants.Fonts.ProximaNovaBold, size: 15.0)!
xAxis.avoidFirstLastClippingEnabled = true
xAxis.spaceMin = 5
xAxis.valueFormatter = axisFormatDelegate
}
@Rnorback Ich glaube nicht, dass es das gleiche Problem für "das erste Etikett auf der xAxis ist" ist? Deaktivieren Sie AvoidFirstLastClippingEnabled sollte '11/23' um etwas Leerzeichen nach links verschoben werden.