Mapbox Density Heatmap in F#
How to make a Mapbox Density Heatmap 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: FSharp.Data"
Mapbox Access Token and Base Map Configuration¶
To plot on Mapbox maps with Plotly you may need a Mapbox account and a public Mapbox Access Token.
Stamen Terrain base map (no token needed): density mapbox with Plotly.NET¶
In [2]:
open FSharp.Data
open Plotly.NET
open Plotly.NET.LayoutObjects
let data = CsvFile.Load("https://raw.githubusercontent.com/plotly/datasets/master/earthquakes-23k.csv")
let latitudes = data.Rows |> Seq.map (fun row -> row.GetColumn("Latitude"))
let longitudes = data.Rows |> Seq.map (fun row -> row.GetColumn("Longitude"))
let magnitudes = data.Rows |> Seq.map (fun row -> row.GetColumn("Magnitude"))
let lonlat = Seq.zip longitudes latitudes
Chart.DensityMapbox(lonlat=lonlat,Z=magnitudes,Radius=10.,Colorscale=StyleParam.Colorscale.Viridis)
|> Chart.withMapbox(Mapbox.init(Style=StyleParam.MapboxStyle.StamenTerrain))
|> Chart.withMarginSize (Left = 0, Right = 0, Top = 0, Bottom = 0)
Out[2]: