マップを使ったアプリを作っている時にヒートマップで色を重畳表示したい場面があったので作成しました。青が一番値が小さく、みどり→黄色→オレンジ→赤と表示されます。
Heatmap.swift
import Foundation
import UIKit
func CreateHeatMap(a: CGFloat) -> UIColor{
var Color:UIColor = UIColor()
var redcolor = CGFloat()
var greencolor = CGFloat()
var bluecolor = CGFloat()
if a < 128 {
redcolor = 0
}else if a > 127 && a < 191 {
redcolor = (a - 127)*4
}else if a > 190 {
redcolor = 255
}
if a >= 64 && a <= 191 {
greencolor = 255
}else if a < 64 {
greencolor = a * 4
}else {
greencolor = 256 - (a - 191)*4
}
if a <= 64{
bluecolor = 255
}else if a > 64 && a < 127 {
bluecolor = 255 - (a - 64)*4
}else if a >= 127 {
bluecolor = 0
}
Color = UIColor(red:redcolor / 255.0, green: greencolor / 255.0, blue:bluecolor / 255.0, alpha:1.0)
return Color
}