我正在使用swift图表库。
当我使用这段代码时,这就是我得到的。这就是我想要图表的样子。
func updateChartValues(totalCountY: Double) -> (LineChartDataSet) {
let values: [Double] = [8, 104, 81, 93, 52, 44, 97, 101, 75, 28,
76, 25, 20, 13, 52, 44, 57, 23, 45, 91,
99, 14, 84, 48, 40, 71, 106, 41, 45, 61]
var entries: [ChartDataEntry] = Array()
for (i, value) in values.enumerated() {
entries.append(ChartDataEntry(x: Double(i), y: value, data: UIImage(named: "icon", in: Bundle(for: self.classForCoder), compatibleWith: nil)))
print("Value: ", values[i])
}
self.dataSet = LineChartDataSet(values: entries, label: "Bullish vs. Bearish")
self.dataSet.mode = LineChartDataSet.Mode.cubicBezier
return dataSet
}
但是当我更改数组(2行代码)时,每次只有一个值更新到相同的位置,并且不显示图形。我不知道如何正确地更新阵列。我希望能够使用totalCountY值更新图表。 (在图表显示的情况下,在totalYCount图表上只添加了1个值。我希望上传所有值。)索引永远不会从0更改。
func updateChartValues(totalCountY: Double) -> (LineChartDataSet) {
var values = [Double]()
values.append(totalCountY)
var entries: [ChartDataEntry] = Array()
for (i, value) in values.enumerated() {
entries.append(ChartDataEntry(x: Double(i), y: value, data: UIImage(named: "icon", in: Bundle(for: self.classForCoder), compatibleWith: nil)))
print("Value: ", values[i])
}
self.dataSet = LineChartDataSet(values: entries, label: "Bullish vs. Bearish")
self.dataSet.mode = LineChartDataSet.Mode.cubicBezier
return dataSet
}
答案 0 :(得分:0)
在第一个函数中,您使用一堆数字创建values
数组。在第二个函数中,您将创建一个空的values
数组,然后向其附加一个数字(totalCountY
)。
所以,只有一个号码可供使用。你想要完成什么?