0
현재 표시된 데이터 범위를 이동하려고합니다. 문서를 읽으면, 내가보기의 왼쪽을 주어진 x 값으로 옮기기 위해 moveViewToX
함수를 사용할 수 있어야합니다.iOS 차트 moveViewToX가 작동하지 않는 것 같습니다.
버튼이있는보기가있는 테스트 코드를 만들었습니다. 뷰가 시뮬레이터에로드되면 그래프가 올바르게 표시됩니다. 버튼을 클릭하면 moveViewToX
이 호출됩니다. 그러나 단추를 클릭하면 아무 것도 발생하지 않습니다. 단추를 클릭하면 콘솔에 인쇄 텍스트가 인쇄되고 그래프보기는 그대로 유지됩니다.
import Charts
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//Setup Test Chart
self.lineChartView.data = LineChartData(dataSet: lineChartDataSet())
}
fileprivate func lineChartDataSet() -> LineChartDataSet {
var dataEntries = [ChartDataEntry]()
dataEntries.append(ChartDataEntry(x: 1, y: 2))
dataEntries.append(ChartDataEntry(x: 3, y: 5))
dataEntries.append(ChartDataEntry(x: 5, y: 10))
dataEntries.append(ChartDataEntry(x: 6, y: 2))
dataEntries.append(ChartDataEntry(x: 10, y: 15))
dataEntries.append(ChartDataEntry(x: 12, y: 7))
dataEntries.append(ChartDataEntry(x: 20, y: 10))
dataEntries.append(ChartDataEntry(x: 30, y: 15))
return LineChartDataSet(values: dataEntries, label: "Test Data")
}
@IBAction func buttonClick(_ sender: UIButton) {
print("Button clicked")
self.lineChartView.moveViewToX(5)
}
@IBOutlet weak var lineChartView: LineChartView!
}
감사합니다. 그것은 그것을 해결합니다. 문서는이 함수에 대해 매우 오도 된 것입니다 : "현재 뷰포트의 왼쪽을 지정된 x 값으로 이동합니다.이 또한 setNeedsDisplay()를 호출하여 차트를 새로 고칩니다." 이 설명은 뷰포트의 왼쪽 끝을 주어진 값으로 이동해야하는 것처럼 들리지만 점의 수에 맞는지 여부에 따라 달라지지 않아야합니다. –