LineMark可以自定义颜色吗?
我刚接触SwiftUI Charts。我的基本设置没问题,唯一需要定制的是多线图的颜色。数据来自两个SwiftData类:
class Parts {
var name: String
var color: Color
…
}
class Orders {
var part: Parts // -> Relationship
var amount: Int
var date: Date
…
}
接着有一个简单的图表:
Chart {
ForEach(parts) { part in
ForEach(part.orders.sorted(by: { $0.date < $1.date })) { order in
LineMark(
x: .value("Time", order.date),
y: .value("Amount", order.amount)
)
.foregroundStyle(by: .value("Part", part.name))
}
}
}
目前每条线都使用Charts框架提供的预设颜色。但我想要从“Parts”获取自定义颜色。可以做到吗?
解决方案
当然可以使用自定义颜色,把下面这段代码添加到你的图表中
Chart {
...
}
.chartForegroundStyleScale(domain: parts.map(\.name), range: parts.map(\.color))
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。