// can't yet format YamlFrontmatter (["title: Styling polar layouts"; "category: Polar Charts"; "categoryindex: 9 "; "index: 3"], Some { StartLine = 2 StartColumn = 0 EndLine = 6 EndColumn = 8 }) to pynb markdown

In [ ]:
#r "nuget: Plotly.NET, 2.0.0-preview.16"
#r "nuget: Plotly.NET.Interactive, 2.0.0-preview.16"


Styling polar layouts¶

Summary: This example shows how to style polar layouts in F#.

let's first create some data for the purpose of creating example charts:

In [3]:
open Plotly.NET

let r  = [ 1; 2; 3; 4; 5; 6; 7;] |> List.map ((*) 10000)
let r2 = [ 5; 6; 7; 1; 2; 3; 4;] |> List.map ((*) 10000)
let r3 = [ 3; 1; 5; 2; 8; 7; 5;] |> List.map ((*) 10000)

let t  = [0; 45; 90; 135; 200; 320; 184;]


Consider this combined polar chart:

In [4]:
let combinedPolar =
[
Chart.PointPolar(r,t,Name="PointPolar")
Chart.LinePolar(r2,t,Name="LinePolar", ShowMarkers = true)
Chart.SplinePolar(r3,t,Name="SplinePolar", ShowMarkers = true)
]

|> Chart.combine

In [ ]:
combinedPolar

Out[ ]:

Styling the polar layout¶

Use the Chart.withPolar function and initialize a Polar layout with the desired looks

In [6]:
open Plotly.NET.LayoutObjects

let styledPolar =
combinedPolar
|> Chart.withPolar(
Polar.init(
Sector= (0., 270.),
Hole=0.1
)
)

In [ ]:
styledPolar

Out[ ]:

You could pass these axes to Chart.withPolar, but for the case where you want to specifically set the angular or radial axis, there are the Chart.withAngularAxis and Chart.withRadialAxis functions:

In [8]:
let styledPolar2 =
styledPolar
|> Chart.withAngularAxis(
AngularAxis.init(
Color=Color.fromString "darkblue"
)
)

styledPolar2