Heatmaps in F#
How to make Heatmaps in F# with Plotly.
In [1]:
#r "nuget: Plotly.NET, 2.0.0-preview.8"
#r "nuget: Plotly.NET.Interactive, 2.0.0-preview.8"
#r "nuget: Deedle"
#r "nuget: FSharp.Data"
Basic Heatmap¶
In [2]:
open Plotly.NET
let matrix =
[[1.;1.5;0.7;2.7];
[2.;0.5;1.2;1.4];
[0.1;2.6;2.4;3.0];]
let rownames = ["p3";"p2";"p1"]
let colnames = ["Tp0";"Tp30";"Tp60";"Tp160"]
let colorscaleValue =
StyleParam.Colorscale.Custom [(0.0,"#3D9970");(1.0,"#001f3f")]
Chart.Heatmap(
data=matrix,ColNames=colnames,RowNames=rownames,
Colorscale=colorscaleValue,
Showscale=true
)
|> Chart.withSize(700.,500.)
|> Chart.withMarginSize(Left=200.)
Out[2]:
In [3]:
open Deedle
open FSharp.Data
let volcano =
Http.RequestString "https://raw.githubusercontent.com/plotly/datasets/master/volcano.csv"
|> fun csv -> Frame.ReadCsvString(csv,true,separators=",")
Chart.Heatmap(data=Frame.toJaggedArray(volcano))
Out[3]:
Sequential Colorscales: Greys¶
In [4]:
open Deedle
open FSharp.Data
let volcano =
Http.RequestString "https://raw.githubusercontent.com/plotly/datasets/master/volcano.csv"
|> fun csv -> Frame.ReadCsvString(csv,true,separators=",")
Chart.Heatmap(data=Frame.toJaggedArray(volcano),Colorscale=StyleParam.Colorscale.Greys)
Out[4]:
Custom colorscales¶
In [5]:
open Deedle
open FSharp.Data
let volcano =
Http.RequestString "https://raw.githubusercontent.com/plotly/datasets/master/volcano.csv"
|> fun csv -> Frame.ReadCsvString(csv,true,separators=",")
let customColorscale = StyleParam.Colorscale.Custom [(0.0,"red");(1.0,"green")]
Chart.Heatmap(data=Frame.toJaggedArray(volcano),Colorscale=customColorscale)
Out[5]: