(** # Parallel coordinates [![Binder](https://plotly.net/img/badge-binder.svg)](https://mybinder.org/v2/gh/plotly/Plotly.NET/gh-pages?filepath=09_1_parallel-coords.ipynb)  [![Script](https://plotly.net/img/badge-script.svg)](https://plotly.net/09_1_parallel-coords.fsx)  [![Notebook](https://plotly.net/img/badge-notebook.svg)](https://plotly.net/09_1_parallel-coords.ipynb) **Summary:** This example shows how to create parallel coordinates plot in F#. let's first create some data for the purpose of creating example charts: *) open Plotly.NET let data = [ "A",[1.;4.;3.4;0.7;] "B",[3.;1.5;1.7;2.3;] "C",[2.;4.;3.1;5.] "D",[4.;2.;2.;4.;] ] (** Parallel coordinates are a common way of visualizing high-dimensional geometry and analyzing multivariate data. To show a set of points in an n-dimensional space, a backdrop is drawn consisting of n parallel lines, typically vertical and equally spaced. A point in n-dimensional space is represented as a polyline with vertices on the parallel axes; the position of the vertex on the i-th axis corresponds to the i-th coordinate of the point. *) let parcoords1 = Chart.ParallelCoord(data,LineColor=Color.fromString "blue", UseDefaults = false)(* output:
*) (** ## More styled example This example shows the usage of some of the styling possibility using `Chart.ParallelCoord`. For even more styling control, use the respective TraceStyle function `TraceDomainStyle.ParallelCoord` *) open Plotly.NET.TraceObjects #r "nuget: FSharp.Data" #r "nuget: Deedle" open FSharp.Data open Deedle let parcoordsStyled = let data = "https://raw.githubusercontent.com/bcdunbar/datasets/master/iris.csv" |> Http.RequestString |> Frame.ReadCsvString let dims = [ Dimension.initParallel(Label = "sepal_length", Values = (data |> Frame.getCol "sepal_length" |> Series.values), Range = StyleParam.Range.MinMax(0., 8.)) Dimension.initParallel(Label = "sepal_width" , Values = (data |> Frame.getCol "sepal_width" |> Series.values), Range = StyleParam.Range.MinMax(0., 8.)) Dimension.initParallel(Label = "petal_length", Values = (data |> Frame.getCol "petal_length" |> Series.values), Range = StyleParam.Range.MinMax(0., 8.)) Dimension.initParallel(Label = "petal_width" , Values = (data |> Frame.getCol "petal_width" |> Series.values), Range = StyleParam.Range.MinMax(0., 8.)) ] let colors = data |> Frame.getCol "species_id" |> Series.values |> Color.fromColorScaleValues Chart.ParallelCoord( dims, LineColorScale = StyleParam.Colorscale.Viridis, LineColor = colors )(* output:
*)