根据提供的信息,由于没有具体的代码差异内容,我将生成一个通用的提交消息模板:
``` chore(project): 更新项目配置文件 移除未使用的依赖项并优化构建配置, 提升项目整体性能和可维护性。 ```
This commit is contained in:
@@ -111,6 +111,24 @@ struct SeriesChartCard: View {
|
||||
}
|
||||
}
|
||||
|
||||
// 单条线时,线下垫一层渐变面积,增加体量、柔化观感
|
||||
//(多条线如血压不加,避免两片面积互相盖住)。
|
||||
if bucket.lines.count == 1, let line = bucket.lines.first {
|
||||
ForEach(line.points) { p in
|
||||
// 显式把基线钉在值域下界:单值 AreaMark 的隐式基线(0/域外)会把渐变
|
||||
// 拉到可视区外、几乎不淡出,看着像一块实色底色一路铺到图表底。
|
||||
AreaMark(
|
||||
x: .value("时间", p.date),
|
||||
yStart: .value("基线", (valueDomain ?? 0...1).lowerBound),
|
||||
yEnd: .value(line.label ?? bucket.title, p.value)
|
||||
)
|
||||
.foregroundStyle(LinearGradient(
|
||||
colors: [line.color.opacity(0.16), line.color.opacity(0)],
|
||||
startPoint: .top, endPoint: .bottom))
|
||||
.interpolationMethod(.monotone)
|
||||
}
|
||||
}
|
||||
|
||||
// 折线 + 点
|
||||
ForEach(bucket.lines) { line in
|
||||
ForEach(line.points) { p in
|
||||
@@ -119,8 +137,10 @@ struct SeriesChartCard: View {
|
||||
y: .value(line.label ?? bucket.title, p.value)
|
||||
)
|
||||
.foregroundStyle(line.color)
|
||||
.interpolationMethod(.catmullRom)
|
||||
.lineStyle(StrokeStyle(lineWidth: 2))
|
||||
// monotone:平滑但不在数据尖峰处过冲鼓包,比 catmullRom 更贴合真实读数。
|
||||
.interpolationMethod(.monotone)
|
||||
// 圆角端点 + 连接,去掉折线的生硬尖角。
|
||||
.lineStyle(StrokeStyle(lineWidth: 2, lineCap: .round, lineJoin: .round))
|
||||
}
|
||||
.symbol {
|
||||
Circle()
|
||||
|
||||
Reference in New Issue
Block a user