Swift Charts: как нарисовать линейную диаграмму с фиксированным градиентом независимо от данных? ⇐ IOS
Swift Charts: как нарисовать линейную диаграмму с фиксированным градиентом независимо от данных?
Тесно связанный с этим вопросом код линейного градиента работает хорошо, но он всегда привязан к своим данным, поэтому, например, этот код ниже: если у вас есть массив частот пульса от 70 до 110, более низкие частоты пульса всегда будут серыми. а верхняя всегда фиолетовая, как и массив от 90 до 195. Как мне сопоставить остановки так, чтобы цвет соответствовал зоне сердечного ритма? Другими словами, частота сердечных сокращений от 70 до 110 будет показывать только, например, от синего к оранжевому?
Диаграмма { ForEach(smoothHeartRatesEMA(customHeartRates, распадаFactor: 0.3)) { heartRate в Маркировка линии( x: .value("Sample Time", heartRate.startDate, unit: .nano Second), // изменил их на .nano Second, чтобы исправить ошибку Nike Run Club (каким-то образом Nike Run Club получает более частые образцы ЧСС, чем другие приложения?) y: .value("Частота пульса", heartRate.doubleValue) ) .lineStyle(StrokeStyle(lineWidth: 3.0)) .foregroundStyle( .linearGradient( остановки: [ .init(цвет: Color.gray, местоположение: 0,0), .init(цвет: TrackerConstants.AppleFitnessBlue, местоположение: 0,16), .init(цвет: TrackerConstants.AppleFitnessYellow, местоположение: 0,33), .init(цвет: TrackerConstants.AppleFitnessOrange, местоположение: 0,5), .init(цвет: TrackerConstants.AppleFitnessRed, местоположение: 0,66), .init(color: TrackerConstants.AppleFitnessPurple, location: 1.0) //как мне заставить их согласовываться с диапазоном, например 170-210. Т.е. если частота сердечных сокращений не превышает 170 ударов в минуту, линия никогда не будет фиолетовой? ], startPoint: .bottom, конечная точка: .top) ) } } .chartYScale(домен: 50...210)
Тесно связанный с этим вопросом код линейного градиента работает хорошо, но он всегда привязан к своим данным, поэтому, например, этот код ниже: если у вас есть массив частот пульса от 70 до 110, более низкие частоты пульса всегда будут серыми. а верхняя всегда фиолетовая, как и массив от 90 до 195. Как мне сопоставить остановки так, чтобы цвет соответствовал зоне сердечного ритма? Другими словами, частота сердечных сокращений от 70 до 110 будет показывать только, например, от синего к оранжевому?
Диаграмма { ForEach(smoothHeartRatesEMA(customHeartRates, распадаFactor: 0.3)) { heartRate в Маркировка линии( x: .value("Sample Time", heartRate.startDate, unit: .nano Second), // изменил их на .nano Second, чтобы исправить ошибку Nike Run Club (каким-то образом Nike Run Club получает более частые образцы ЧСС, чем другие приложения?) y: .value("Частота пульса", heartRate.doubleValue) ) .lineStyle(StrokeStyle(lineWidth: 3.0)) .foregroundStyle( .linearGradient( остановки: [ .init(цвет: Color.gray, местоположение: 0,0), .init(цвет: TrackerConstants.AppleFitnessBlue, местоположение: 0,16), .init(цвет: TrackerConstants.AppleFitnessYellow, местоположение: 0,33), .init(цвет: TrackerConstants.AppleFitnessOrange, местоположение: 0,5), .init(цвет: TrackerConstants.AppleFitnessRed, местоположение: 0,66), .init(color: TrackerConstants.AppleFitnessPurple, location: 1.0) //как мне заставить их согласовываться с диапазоном, например 170-210. Т.е. если частота сердечных сокращений не превышает 170 ударов в минуту, линия никогда не будет фиолетовой? ], startPoint: .bottom, конечная точка: .top) ) } } .chartYScale(домен: 50...210)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как отобразить текст и построить диаграмму с градиентом в одном поле вывода
Anonymous » » в форуме Python - 0 Ответы
- 46 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Добавление эффекта наведения полилинии на пользовательскую линейную диаграмму — SVG/CSS
Anonymous » » в форуме Jquery - 0 Ответы
- 82 Просмотры
-
Последнее сообщение Anonymous
-