ios - 如何使用步进值更新折线图?
问题描述
我有一个简单的 a*x+b 折线图示例。
import UIKit
import Charts
class ViewController: UIViewController {
@IBOutlet weak var lineChart: LineChartView!
@IBOutlet weak var bStepper: UIStepper!
@IBOutlet weak var aStepper: UIStepper!
var aValue: Double = 1
var bValue: Double = 1
var dataEntries = [ChartDataEntry]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
aValue = aStepper.value
bValue = bStepper.value
updateChartData()
}
@IBAction func aChange(_ sender: UIStepper) {
aValue = sender.value
updateChartData()
}
@IBAction func bChange(_ sender: UIStepper) {
bValue = sender.value
updateChartData()
}
func updateChartData() {
lineChart.noDataText = "No data"
for i in -10...10 {
let dataEntry = ChartDataEntry(x: Double(i), y: aValue*Double(i)+bValue)
dataEntries.append(dataEntry)
}
let lineFuncOne = LineChartDataSet(entries: dataEntries, label: nil)
lineFuncOne.colors = [NSUIColor.blue]
let chartData = LineChartData(dataSet: lineFuncOne)
lineChart.data = chartData
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
我想创建一个方法,每次我在我的应用程序中增加或减少步进器的值时,用 a 和 b 步进器的值更新折线图 (a*x+b)。你能帮我创建这个解决方案吗?我已经开始了我的旅程并就此停止。
解决方案
我自己解决了这个问题,将 var dataEntries = ChartDataEntry 放入 updateChartData() 并对来自发送者 insinde updateChartData() 的 a、b 值进行操作
推荐阅读
- arrays - Perl 范围数组变量 - for 循环
- javascript - 如何从 PHP 获取图像数组到 Javascript
- jmeter-plugins - 如何将 Jmeter 服务器代理与其他应用程序一起使用?
- python - 加载 .npy 文件作为 pytorch 的数据集
- javascript - 计算模拟时钟指针相对于边界框的动态长度
- c - C 中的套接字编程:UDP send() 需要 6 - 260 微秒,如何使其更快
- python-3.x - 我在数据框中有两列“第一响应时间(HH:MM:SS)和“目标”,其值为“00:08:40”和“00:25:00”,同时减去我面临的错误
- c# - Auto mapper : Mapping two objects Ignoring few properties dynamically
- python - How to split dataframe on based on columns row
- html - 输入元素溢出容器