如何使用 ios 图表删除条形图底部的多余线条?
How to remove extra line at the bottom of bar chart using ios charts?
使用图表库,我想具体了解一下第二张照片。到目前为止,我能够完成的是顶部图像中的那个。我知道我离正确的目标还差得很远。
这是我目前 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
具体来说,我现在还缺少的是删除条形图底部和右边界的额外线条的方法。
当前外观:
目标外观:
更新:
barChart.rightAxis.enabled = false // 删除正确的标签
我仍然需要找到一种方法来删除图像中标记为蓝色的那个,并让底部标签靠近方框。
更新:通过使用 .bottomInside
定位它们,我能够使 xAxis 标签正好位于我想要的位置
barChart.xAxis.labelPosition = .bottomInside
更新后的外观:
剩下的就是去掉最后一个底部方块但保留标签。
这:删除包括标签在内的整个底部方块。
barChart.xAxis.labelPosition = .bottomInside
barChart.xAxis.enabled = false
barChart.leftAxis.enabled = false
barChart.rightAxis.enabled = false
barChart.drawBordersEnabled = false
barChart.minOffset = 0
我终于能够解决我的问题了。在我的代码中发生的事情是我的 barChart.leftAxis.minimum 默认关闭。
通过将其设置为 0,我可以获得我想要的外观。
barChart.leftAxis.axisMinimum = 0.0
如果你的左轴启用
barChartView.leftAxis.spaceBottom = 0.0
如果你的右轴启用
barChartView.rightAxis.spaceBottom = 0.0
您可以通过将左轴最小值设置为零来实现。
leftAxis.axisMinimum = 0
使用图表库,我想具体了解一下第二张照片。到目前为止,我能够完成的是顶部图像中的那个。我知道我离正确的目标还差得很远。
这是我目前 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
具体来说,我现在还缺少的是删除条形图底部和右边界的额外线条的方法。
当前外观:
目标外观:
更新: barChart.rightAxis.enabled = false // 删除正确的标签
我仍然需要找到一种方法来删除图像中标记为蓝色的那个,并让底部标签靠近方框。
barChart.xAxis.labelPosition = .bottomInside
更新后的外观:
剩下的就是去掉最后一个底部方块但保留标签。
这:删除包括标签在内的整个底部方块。
barChart.xAxis.labelPosition = .bottomInside
barChart.xAxis.enabled = false
barChart.leftAxis.enabled = false
barChart.rightAxis.enabled = false
barChart.drawBordersEnabled = false
barChart.minOffset = 0
我终于能够解决我的问题了。在我的代码中发生的事情是我的 barChart.leftAxis.minimum 默认关闭。
通过将其设置为 0,我可以获得我想要的外观。
barChart.leftAxis.axisMinimum = 0.0
如果你的左轴启用
barChartView.leftAxis.spaceBottom = 0.0
如果你的右轴启用
barChartView.rightAxis.spaceBottom = 0.0
您可以通过将左轴最小值设置为零来实现。
leftAxis.axisMinimum = 0