点的坐标 - ios-图表 [Swift]

Coordinates of a point - ios-charts [Swift]

我在图书馆里找了两天,不幸的是我没能找到如何在 px 中的两个数据之间得到 space。我的 linechartview 包含在 UIScrollView 中,目的是获取位于 ScrollView.

中心的 linechartview 点的值

通常,它有一个transfomer来将数据值转换为px值,如:

position.x = CGFloat(i) // index on x axis, like 0,1,2
position.y = 0.0
position = CGPointApplyAffineTransform(position, valueToPixelMatrix)

以上代码摘自internal func drawLabels,你应该看看

这个位置之后就是px。屏幕上的值。你只需要弄清楚你是如何得到它并传递给你的其他函数的,比如使用委托

使用时https://github.com/danielgindi/Charts

您可以通过:

let yAxis: Double = 1000 // your value on y-Axis
let xAxis: Double = 5 // your value on x-Axis

let pixel: CGPoint = yourChartView.pixelForValues(x: xAxis, y: yAxis, axis: .right)
    

let yourDataArray = [ChartDataEntry]()
//... some code here for filling data

//now, get then position
if let lastPosition = yourDataArray.last {
    let point:CGPoint = yourChartView.getPosition(entry: , axis: .right)
}

此外,您可以检查https://github.com/danielgindi/Charts/blob/master/Source/Charts/Utils/Transformer.swift是否使用:

let valueToPixelMatrix = yourChartView.getTransformer(forAxis: YAxis.AxisDependency.right).valueToPixelMatrix