小编Dou*_*oss的帖子

Swift 图表:绘制折线图,​​其中线条颜色由 Y 值决定

我正在尝试使用 Swift Charts 绘制下面的图表。我无法弄清楚如何根据 Y 值更改线条的颜色。在下图中,Y 的不同范围分配有不同的颜色,线条反映了这一点。

所需图表

我尝试使用 LineMark 的前景设置线条颜色,但它似乎只采用第一个颜色分配并忽略其上设置的任何其他颜色。

Chart {
    ForEach(plotItemSeries) { plotItem in
        LineMark(x: .value("XVAL", plotItem.xVal),
                 y: .value("YVAL", plotItem.yVal))
        .foregroundStyle(plotItem.zoneColor) // <== color assigned base on y-val
    }
}

Run Code Online (Sandbox Code Playgroud)

尝试#1

我尝试使用前景比例,但它只是将其分成多个系列,就像您所期望的那样。

Chart {
    ForEach(plotItemSeries) { plotItem in
        LineMark(x: .value("XVAL", plotItem.xVal),
                 y: .value("YVAL", plotItem.yVal))
        .foregroundStyle(by: .value("Zone", plotItem.zoneColorName)) // <== "gray", "blue", etc..
    }
}
.chartForegroundStyleScale(["gray": Color("grayCustom"),
                            "green": Color("greenCustom"),
                            "blue": Color("blueCustom"),
                            "orange": Color("orangeCustom"),
                            "red": Color("redCustom")])

Run Code Online (Sandbox Code Playgroud)

尝试#2

有什么想法如何根据 y 值设置线条的颜色吗?

charts ios swiftui

2
推荐指数
1
解决办法
2347
查看次数

标签 统计

charts ×1

ios ×1

swiftui ×1