我正在尝试移动当前显示的数据范围。阅读文档,似乎我应该能够使用moveViewToX
函数将视图的左侧移动到给定的x值。
我制作了一个带有按钮的1个视图的测试代码。当视图在模拟器中加载时,图形会正确显示。单击该按钮时,会调用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!
}
答案 0 :(得分:0)
确保图表具有足够的值以使其可滚动。如果图形有8个值并且它们都显示在屏幕上而不需要滚动到侧面来查看值,则表示moveViewToX不会执行任何操作,因为它无法滚动。 您可以在图表上选择可见点的范围,如果将范围设置为3,然后滚动到5,它将起作用。
self.lineChart.setVisibleXRange(minXRange: 3.0, maxXRange: 3.0)
self.lineChart.moveViewToX(5)