正在创建包含多行的折线图



查看Apple文档,我发现了一种简单的方法,只要您的数据集结构正确(我的数据集不是(。我一直在处理一个CSV文件,其中包含如下结构的行:

PM2.5 data, PM10 data, DateTime
PM2.5 data, PM10 data, DateTime
...

我已经将每一行解析为一个Measurement对象:

struct Measurement: Identifiable {
var id: String // time of measurement 
var pm25: Float
var pm10: Float
}

我天真地认为我可以这样添加多个线标记(measurementsMeasurement对象的数组(:

Chart(measurements){
LineMark (
x: .value("Time", $0.id),
y: .value("PM2.5", $0.pm25)
)

LineMark (
x: .value("Time", $0.id),
y: .value("PM2.5", $0.pm10)
)
}

但这不会创建多条线。有人能为如何在Swift UI中使用Swift图表来实现这一点提供任何建议吗?我在Stack Overflow上找到了很多解决方案,但它们适用于Swift 4或更旧版本,不适用于SwiftUI。

您可以尝试这种简单的方法,使用LineMark:的series版本

Chart(measurements) {
LineMark(
x: .value("Time", $0.id),
y: .value("PM2.5", $0.pm25),
series: .value("pm25", "A")  // <-- here
).foregroundStyle(.red)

LineMark(
x: .value("Time", $0.id),
y: .value("PM1.0", $0.pm10),
series: .value("pm10", "B")   // <-- here
).foregroundStyle(.green)
}

相关内容

  • 没有找到相关文章

最新更新