Код: Выделить всё
import SwiftUI
import Charts
struct ExerciseChartPlot: View {
// Public Variables
let isLineChart: Bool
let xLabel: String
let yLabel: String
let calendarUnit: Calendar.Component
let date: Date
let value: Double
// Body
var body: some View {
if isLineChart {
LineMark(x: .value(xLabel, date, unit: calendarUnit), y: .value(yLabel, value))
.foregroundStyle(Color._green)
.symbol(.circle)
AreaMark(x: .value(xLabel, date, unit: calendarUnit), y: .value(yLabel, value))
.foregroundStyle(LinearGradient(colors: [._green.opacity(0.2), .clear], startPoint: .top, endPoint: .bottom))
} else {
BarMark(x: .value(xLabel, date, unit: calendarUnit), y: .value(yLabel, value))
.foregroundStyle(Color._green.gradient)
}
}
}
Я предполагаю, что это из-за того, что я возвращаю компоненты, не помещая их в диаграмму. Я хотел бы сохранить компонент Chart на «более высоком уровне» в дереве пользовательского интерфейса, и чтобы эти более мелкие компоненты возвращали только те элементы диаграммы, которые необходимо визуализировать внутри него.
Есть можно ли как-то этого добиться?
Подробнее здесь: https://stackoverflow.com/questions/787 ... artcontent
Мобильная версия