【发布时间】:2022-11-07 23:14:42
【问题描述】:
鉴于这是一个心率图表,我正在尝试使图表的 Y 最大刻度为 210 (bpm),例如.chartYScale(domain: 0 ... 210) 但是,如果我传入 200 或 300,它似乎只能正确缩放,两者之间的任何东西都不起作用。这是故意的还是错误的?
import SwiftUI
import Charts
import HealthKit
struct TestYAxisRangeChart: View {
let heartRateData = [80.0, 90.0, 120.0, 150.0, 160.0, 140.0, 125.0, 110.0, 88.0]
var body: some View {
Chart {
ForEach(heartRateData, id: \.self) { sample in
LineMark(
x: .value("", heartRateData.firstIndex(of: sample)!),
y: .value("HR", sample))
.foregroundStyle(Color.red)
}
}
.chartYAxis{
AxisMarks(position: .leading)
}
.frame(height: 300)
.padding(.horizontal)
.chartYScale(domain: 0 ... 210)
}
}
struct TestYAxisRangeChart_Previews: PreviewProvider {
static var previews: some View {
TestYAxisRangeChart()
}
}
【问题讨论】:
-
它取决于 ScaleType,请参阅该参数的文档,在您的情况下自动是 .linear。
-
@Asperi 谢谢我做了,但不确定什么 ScaleType 会给我我正在寻找的粒度?
标签: ios swift swiftui swiftcharts