如何使用ios图表删除条形图底部的多余线条?

问题描述 投票:0回答:5

使用图表库我想具体了解第二张照片。到目前为止我能够完成的是最上面的图片。我知道我距离完成正确的目标还很远。

这是我目前对 https://github.com/danielgindi/Charts 的实现。不过,我仍在探索图表功能。

    var dataEntries: [BarChartDataEntry] = []

    let dataEntry1 = BarChartDataEntry(x: Double(0), y: Double(26))
    dataEntries.append(dataEntry1)
    let dataEntry2 = BarChartDataEntry(x: Double(1), y: Double(0))
    dataEntries.append(dataEntry2)
    let dataEntry3 = BarChartDataEntry(x: Double(2), y: Double(2))
    dataEntries.append(dataEntry3)

    let chartDataSet = BarChartDataSet(values: dataEntries, label: nil)// BarChartDataSet(values: dataEntries, label: "A")
    chartDataSet.setColor(.red)

    let chartData = BarChartData(dataSet: chartDataSet)
    chartData.barWidth = Double(0.3)

    barChart.data = chartData
    barChart.fitBars = true
    barChart.zoomOut()

    barChart.xAxis.drawGridLinesEnabled = false // disable horizontal grid lines

    barChart.scaleYEnabled = true
    barChart.scaleXEnabled = true

    let description = Description()
    description.text = ""
    barChart.chartDescription = description

    let labels = ["1-30 days", "31-60 days", "61+ days"]
    barChart.xAxis.valueFormatter = IndexAxisValueFormatter(values: labels)
    barChart.xAxis.granularity = 1.0
    barChart.xAxis.granularityEnabled = true
    barChart.xAxis.labelPosition = .bottom

    barChart.drawValueAboveBarEnabled = false

具体来说,我现在仍然缺乏的是一种删除条形图底部和右边界多余线条的方法。

现在的样子:

current look

目标外观:

target look

更新: barChart.rightAxis.enabled = false // 删除右侧标签

我仍然需要找到一种方法来删除图像中标记为蓝色的标签,并使底部标签靠近盒子。

更新:我能够通过使用 .bottomInside

将 xAxis 标签放置在我想要的位置
barChart.xAxis.labelPosition = .bottomInside

更新后的外观:

剩下的就是去掉最后一个底部方块,但保留标签。

此操作:删除整个底部方块,包括标签。

barChart.xAxis.labelPosition = .bottomInside

ios swift bar-chart ios-charts
5个回答
4
投票

如果您的左轴已启用

barChartView.leftAxis.spaceBottom = 0.0

如果您的右轴已启用

barChartView.rightAxis.spaceBottom = 0.0

2
投票

我终于能够解决我的问题了。我的代码中发生的事情是我的 barChart.leftAxis.minimum 默认情况下处于关闭状态。

通过将其设置为 0,我能够获得我想要的外观。

barChart.leftAxis.axisMinimum = 0.0

1
投票

您可以通过将左轴最小值设置为零来实现这一点。

leftAxis.axisMinimum = 0

0
投票
barChart.xAxis.enabled = false
barChart.leftAxis.enabled = false
barChart.rightAxis.enabled = false
barChart.drawBordersEnabled = false
barChart.minOffset = 0

0
投票

要保持 xAxis 标签可见并隐藏底线,请使用:

chart.xAxis.drawAxisLineEnabled = false

结果:

© www.soinside.com 2019 - 2024. All rights reserved.