LineChartView (danielgindi/charts) 线在放大时消失

问题描述 投票:0回答:1

我在 Swift 中有一个 macOS 13+ 项目,我在其中导入了 https://github.com/danielgindi/Charts,通过使用

LineChartView
显示一天的温度。

由于我一天有很多值,并且所有单个值都非常重要,因此我需要缩放 X 轴,禁用 Y 轴缩放。

Text

问题是当我放大时,线条消失了。如果我将 y-zoom 设置为 true,该线仍保留在屏幕上,但如果我将其设置为 false,则在缩放时它会消失。

Text

Text

这里是图表视图配置

        self.lineChartView.gridBackgroundColor = .white
        self.lineChartView.borderLineWidth = 2
        self.lineChartView.borderColor = .systemGray
        self.lineChartView.chartDescription.text = ""
        self.lineChartView.gridBackgroundColor = .clear
        self.lineChartView.backgroundColor = .clear
        self.lineChartView.pinchZoomEnabled = false
        self.lineChartView.doubleTapToZoomEnabled = false
        self.lineChartView.delegate = self
        self.lineChartView.scaleYEnabled = false
        self.lineChartView.scaleXEnabled = true
        self.lineChartView.extraBottomOffset = 10

我已经遇到这个问题一个多月了。在 github 上询问,没有回复我的错误报告。 今天我更新到了v5.0.0(三天前发布)但仍然有同样的问题。

想法?预先感谢。

swift macos ios-charts
1个回答
0
投票

我们也遇到了类似的问题,终于找到解决方案了。

问题是,当为图表赋予值时,它会按降序生成数据数组。

data in descending order

因此,如果按降序排列,我们添加了逻辑尊重值

enter image description here

完成此操作后分配数据,

// values.reverse() if needed
let set1 = LineChartDataSet(entries: values, label: "")
let data = LineChartData(dataSets: [set1])
self.lineChartView?.data = data

执行此操作后,图表能够正确滚动和缩放,而不会消失或出现故障。

© www.soinside.com 2019 - 2024. All rights reserved.