从ios图表中删除零线

时间:2017-12-11 17:20:48

标签: swift ios-charts

我使用(https://github.com/danielgindi/Charts)创建了一个简单的小图表,我试图删除线本身旁边的所有内容,但我似乎无法删除底部的零轴。我查看了文档,但似乎无法将其删除?

enter image description here

图表

class CellChartView: UIView {

    var lineChart: LineChartView!

    override init(frame: CGRect) {
        super.init(frame: frame)

        self.lineChart = LineChartView()
        lineChart.backgroundColor = Color.lightTheme.value
        lineChart.translatesAutoresizingMaskIntoConstraints = false
        self.lineChart.chartDescription?.text = ""
        self.lineChart.isUserInteractionEnabled = false

        self.lineChart.legend.enabled = false
        self.lineChart.minOffset = 0

        self.lineChart.drawBordersEnabled = false
        self.lineChart.drawGridBackgroundEnabled = false
        self.lineChart.autoScaleMinMaxEnabled = true

        self.lineChart.rightAxis.enabled = false

        self.lineChart.leftAxis.enabled = false
        self.lineChart.leftAxis.drawAxisLineEnabled = false
        self.lineChart.leftAxis.axisLineColor = UIColor.green

        self.lineChart.xAxis.drawLabelsEnabled = false
        self.lineChart.xAxis.drawGridLinesEnabled = false
        self.lineChart.xAxis.labelPosition = .bottom
        self.lineChart.xAxis.drawLimitLinesBehindDataEnabled = false
        self.lineChart.xAxis.enabled = false

        self.lineChart.xAxis.axisLineColor = UIColor.clear



        self.addSubview(self.lineChart)

        lineChart.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
        lineChart.topAnchor.constraint(equalTo: self.topAnchor, constant: -1).isActive = true
        lineChart.widthAnchor.constraint(equalTo: self.widthAnchor).isActive = true
        lineChart.heightAnchor.constraint(equalTo: self.heightAnchor).isActive = true
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    func setChartData(values: [Double], dates: [String]) {

        var yValues : [ChartDataEntry] = [ChartDataEntry]()
        for i in 0 ..< dates.count {
            yValues.append(ChartDataEntry(x: Double(i + 1), y: values[i]))
        }

        let data = LineChartData()
        let ds = LineChartDataSet(values: yValues, label: "Date")
        ds.drawCirclesEnabled = false
        ds.lineWidth = 1
        ds.drawValuesEnabled = false

        if (values.first ?? 0.0 > values.last ?? 0.0) {
            ds.setColor(Color.redColor.value)
        } else {
            ds.setColor(Color.greenColor.value)
        }


        data.addDataSet(ds)

        data.setDrawValues(false)
        self.lineChart.data = data
    }

}

2 个答案:

答案 0 :(得分:2)

如果您只是想隐藏xAxis,那么我会看到两种方式:

您可以停用xAxis xAxis.enabled = false

或者将xAxis线条颜色设置为透明xAxis.axisLineColor = UIColor.clear

答案 1 :(得分:0)

如果要在禁用所有网格线时隐藏通过中心绘制的水平线和垂直线,而只想要如上图所示的X轴线

lineChartDataSet.highlightColor = NSUIColor.clear
myLineChartView.xAxis.drawAxisLineEnabled = true
myLineChartView.xAxis.drawGridLinesEnabled = false
myLineChartView.xAxis.drawLabelsEnabled = false
myLineChartView.leftAxisAxis.drawAxisLineEnabled = false

这将只隐藏水平和垂直线,同时使您可以自由地通过X轴或Y轴绘制线。