It works fine with me, might me something in the model data code?
Here is my working example:
struct Exercise: Identifiable {
let id = UUID()
var dateCompleted: Date
var reps: Int
}
struct ContentView: View {
private var exerciseMaxRepsArray: [Exercise] = []
init() { // init dummy data
for i in 0 ..< 10 {
let date = Calendar.current.date(byAdding: .day, value: i, to: .now) ?? .now
let rep = Int.random(in: 1...10)
exerciseMaxRepsArray.append(
Exercise(dateCompleted: date, reps: rep)
)
}
}
var body: some View {
GroupBox(label: Text("Daily Max Reps")) {
Chart(exerciseMaxRepsArray) { e in
LineMark(x: .value("Date", e.dateCompleted, unit: .day),
y: .value("Reps", e.reps)
) }
.chartYAxisLabel(position: .trailing, alignment: .center) {
Text("Reps")
}
.chartXAxisLabel(position: .bottom, alignment: .center) {
Text("Date")
}
.padding()
}
}
}
2
solved How do I display dates along X axis using Charts in SwiftUI?