ios - 设置自定义数据集值 - 图表 3.0.4 和使用 Swift 4.0

标签 ios swift graph charts

我想在图点中的 (1,2,3,4,5,6) 位置显示一些随机值,例如 (16,23,323,63,8,66)。我在图表框架中使用折线图。

是否有任何格式化程序可用于完成此操作?

enter image description here

上图显示了我想要绘制的示例图。

最佳答案

创建自定义格式化程序:

class RandomCustomFormatter: NSObject, IValueFormatter {

    convenience init(lineChart: LineChartView, xArray: [Double], yArray: [Double]) {
        self.init()

        var y = yArray
        y.shuffle(count: y.count)
        var dataEntries = [ChartDataEntry]()
        var c = 0
        for _ in xArray {
        dataEntries.append(ChartDataEntry(x: xArray[c], y: y[c]))
        c+=1
        }
        let theDataSet = LineChartDataSet(values: dataEntries, label: "Test Data")
        print("dataentries shuffled: \(dataEntries)")

        lineChart.data = LineChartData(dataSet: theDataSet)


    }


    public func stringForValue(_ value: Double, entry: ChartDataEntry, dataSetIndex: Int, viewPortHandler: ViewPortHandler?) -> String {
        let valueToUse = Int(value)
        print("valuetouse: \(valueToUse)")
        return String(valueToUse)
    }
}

添加数组扩展:

extension Array {
    mutating func shuffle(count: Int) {
        for _ in 0...count-1 {
            sort { (_,_) in arc4random() < arc4random() }
        }
    }
}

设置格式化程序:

//x datapoints
let x = [1.0,2.0,3.0,4.0,5.0,6.0]
//y datapoints
var y = [8.0,16.0,23.0,63.0,66.0,323.0]
let formatter = RandomCustomFormatter(lineChart: lineChart, xArray: x, yArray: y)
self.lineChart?.data?.setValueFormatter(formatter)

结果 1:

result 1

结果 2:

result 2

关于ios - 设置自定义数据集值 - 图表 3.0.4 和使用 Swift 4.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48023702/

相关文章:

objective-c - iOS 从字符串获取 NSDate?

ios - AudioKit - 在没有 Playground 的情况下绘制文件的完整波形

ios - 阻止 iTunes 在不破解浏览器的情况下打开应用商店链接的方法?

ios - Action 扩展中的 UIPasteboard.generalPasteboard

Swift SocketIO 客户端不保持连接

swift - ELCImagePickerController 使用 Swift 仅显示黑屏 + 导航栏

iOS - CoreData -> 删除不再有关系的对象

ios - 将图像从 Collection View Controller 快速传递到另一个 View Controller

algorithm - 图中 MST 边所必需的

algorithm - 图中的索林算法