Charts: BarChart xAxis Label-Offsets

Erstellt am 23. Nov. 2016  ·  4Kommentare  ·  Quelle: danielgindi/Charts

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.
screen shot 2016-11-22 at 3 25 27 pm 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

bug

Alle 4 Kommentare

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.

screen shot 2016-11-29 at 3 28 53 pm

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.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen