【问题标题】:How to remove extra line at the bottom of bar chart using ios charts?如何使用 ios 图表删除条形图底部的多余线条?
【发布时间】:2018-02-01 08:25:05
【问题描述】:

使用图表库我想具体了解第二张照片。到目前为止,我能够完成的是顶部图像中的那个。我知道我离完成正确的目标还有很长的路要走。

这是我目前对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

【问题讨论】:

    标签: ios swift bar-chart ios-charts


    【解决方案1】:

    如果你的左轴启用了

    barChartView.leftAxis.spaceBottom = 0.0
    

    如果你的右轴启用

    barChartView.rightAxis.spaceBottom = 0.0
    

    【讨论】:

      【解决方案2】:

      我终于能够解决我的问题。我的代码发生的事情是我的 barChart.leftAxis.minimum 默认是关闭的。

      通过将其设置为 0,我可以得到我想要的外观。

      barChart.leftAxis.axisMinimum = 0.0
      

      【讨论】:

        【解决方案3】:

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

        leftAxis.axisMinimum = 0
        

        【讨论】:

          【解决方案4】:
          barChart.xAxis.enabled = false
          barChart.leftAxis.enabled = false
          barChart.rightAxis.enabled = false
          barChart.drawBordersEnabled = false
          barChart.minOffset = 0
          

          【讨论】:

          • 我不想删除所有水平线,只删除最底部的那条,并让标签贴近一点 0 线所在的位置。
          • 只有 'barChart.minOffset = 0' 会给你带来什么结果?
          • 看起来还是一样
          • barChart.xAxis.enabled = false 删除整个底部,但也删除了我希望它保留的标签。
          猜你喜欢
          • 2016-06-16
          • 2018-03-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多