Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 设置自定义数据集值-图表3.0.4和使用Swift 4.0_Ios_Swift_Graph_Charts - Fatal编程技术网

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

Ios 设置自定义数据集值-图表3.0.4和使用Swift 4.0,ios,swift,graph,charts,Ios,Swift,Graph,Charts,我想在(1,2,3,4,5,6)的位置显示一些随机值,比如图点中的(16,23323,63,8,66)。我在图表框架中使用折线图 是否有任何格式化程序可用于完成此操作 上图显示了我要绘制的示例图。创建自定义格式设置程序: class RandomCustomFormatter: NSObject, IValueFormatter { convenience init(lineChart: LineChartView, xArray: [Double], yArray: [Double

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

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


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

创建自定义格式设置程序:

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)
    }
}
//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)
添加阵列扩展:

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

结果2: