라이브러리 차트 (Daniel Gindi)를 버전 2 (Swift 2.3)에서 3 (Swift 3)으로 마이그레이션하는 데 어려움이 있습니다.ios 차트 3.0 - x 레이블 (날짜)을 플롯으로 정렬
기본적으로 x 레이블 (날짜)을 해당 플롯과 올바르게 정렬 할 수 없습니다.
이
내가 버전 2 년 전에 한 것입니다 : 버전 2에서 나는 일 7, 8, 10, 11 그래서, 중간에 하루에 누락 되었으나을 값을했다라벨이 플롯으로 올바르게 정렬되었습니다. 그것은 TimeInterval이의 버전 3에서
는, x 축에서 "라벨은"지금 (더블로 대체 날짜에 대해되었습니다
그리고 여기에 내가 버전 3에있는 것입니다 1970 년 이후) 포맷터를 통해 포맷되었습니다. 차트가 올바르게 9 번째 값을 추정하기 때문에 그래프가 더 "정확한"것이므로 그래프를 해당 플롯 아래에 배치하는 방법을 찾을 수 없습니다. ,
import Foundation
import Charts
class ChartXAxisFormatter: NSObject {
var dateFormatter: DateFormatter?
}
extension ChartXAxisFormatter: IAxisValueFormatter {
func stringForValue(_ value: Double, axis: AxisBase?) -> String {
if let dateFormatter = dateFormatter {
let date = Date(timeIntervalSince1970: value)
return dateFormatter.string(from: date)
}
return ""
}
}
그래서, 여기에 값이 올바른지, 형식이 정확한지 :
여기let chartView = LineChartView()
...
let xAxis = chartView.xAxis
xAxis.labelPosition = .bottom
xAxis.labelCount = entries.count
xAxis.drawLabelsEnabled = true
xAxis.drawLimitLinesBehindDataEnabled = true
xAxis.avoidFirstLastClippingEnabled = true
// Set the x values date formatter
let xValuesNumberFormatter = ChartXAxisFormatter()
xValuesNumberFormatter.dateFormatter = dayNumberAndShortNameFormatter // e.g. "wed 26"
xAxis.valueFormatter = xValuesNumberFormatter
내가 만든 ChartXAxisFormatter 클래스입니다 :
이는이 X 축에 대한 내 코드입니다 차트의 모양은 정확하지만 레이블과 해당 플롯의 정렬이 좋지 않습니다. 도움 주셔서 감사합니다.
차트 3.0.0과 차트 3.0.1을 사용하여 재현 할 수있었습니다. 동시에, 나는 이러한 문제로 고생하지 않는 별도의 프로젝트에서 Chart 3.0.0을 사용하는 코드를 가지고있다. 차트 설정의 일부 조합이이 버그를 나타낼 수 있습니까? – Alex
Charts Github 레포에 대한 응답이있었습니다. 차트가 보간을 사용하여 표시 할 레이블을 결정하기 때문에 분명히 x 축에 ** 시간 간격 **을 사용할 때 발생합니다. –