ios - iOS 图表库的问题

标签 ios swift charts mpandroidchart ios-charts

我正在使用 iOSCharts for swift by @danielgindi https://github.com/danielgindi/Charts

这是我的数据集

let dateArray = [26,27,28,29,30,01,02]
        let values = [11.0,5.0,0.0,0.0,4.0,1.0,0.0]

        var dataEntries: [BarChartDataEntry] = []

        for i in 0..<dateArray.count {
            let dataEntry = BarChartDataEntry(x: Double(i), y: values[i])
            dataEntries.append(dataEntry)
        }

        let data = BarChartData()
        let ds1 = BarChartDataSet(values: dataEntries, label: "Hello")
        ds1.colors = [NSUIColor.red]
        data.addDataSet(ds1)




        self.barChartView.data = data

         self.barChartView.fitBars = true

        self.barChartView.gridBackgroundColor = NSUIColor.white

        self.barChartView.chartDescription?.text = ""

我期待的是这个 enter image description here

但我得到的是这个

enter image description here

所以你可以看到下面的问题

1) 图形从上面的一个网格开始,你会看到底部的空间 2) xaxis 标签不同,我不知道如何设置它们。 3) 我想将 x 轴和 y 轴标签显示为 int 而不是 double。

最佳答案

查看 ChartsDemo 项目中 BarchartViewController 的主版本,它实现了您的两个问题:

1) 左轴对齐,参见:

https://github.com/danielgindi/Charts/blob/master/ChartsDemo/Classes/Demos/BarChartViewController.m#L76

具体来说,您想要在左侧轴上设置 axisMinimum,对于您的示例,它是:

self.barChartView.leftAxis.axisMinimum = 0.0

2) X 轴值格式化。

这个有点棘手。您可以从 ChartsDemo 借用 DayAxisValueFormatter,但那是 Objective-C 代码,因此您需要熟悉如何将 Objective-C 添加到您的项目。

您还可以通过将 View Controller 设为 IAxisValueFormatter 并像这样实现来获得您所要求的:

class MyViewController: UIViewController, IAxisValueFormatter {

    var dateArray: [Int] = [26,27,28,29,30,01,02] //member variable

    func stringForValue(_ value: Double, axis: AxisBase?) -> String {
        return dateArray[i]
    }

    //edit:  forgot to say this earlier, you need to do this somewhere in your bar graph setup code
    self.barChwrtView.xAxis.formatter = self
}

无论何时更新图表,您都可以让 dateArray 和值保持同步。

关于ios - iOS 图表库的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817831/

相关文章:

java - 如何在android中使用Chart自定义条形图

ios - 如何防止sortedArrayUsingSelector删除重复条目(ios)?

ios - 扩展 JSONDecoder 以允许基于端点以不同方式序列化模型

swift - 在 Swift 中分配条件表达式?

multithreading - 在 segue 之前等待异步方法

ruby-on-rails - Ruby 图表库?

PHP-如何从数据库中按最高到最低顺序获取前十条记录

ios - 为 iOS 设置移动和缩放框

ios - 何时使用开发与分发推送通知 p12 证书

swift - 将 NSMutableData 的一部分复制到新的 NSMutableData 对象