Skip to content

Commit e10dbb2

Browse files
committed
Add BubblePolar Chart
1 parent 8f03019 commit e10dbb2

File tree

2 files changed

+68
-9
lines changed

2 files changed

+68
-9
lines changed

src/Plotly.NET/Chart.fs

Lines changed: 65 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1340,7 +1340,7 @@ type Chart =
13401340
///
13411341
static member PointPolar
13421342
(
1343-
rtheta,
1343+
rTheta,
13441344
[<Optional;DefaultParameterValue(null)>] ?Name,
13451345
[<Optional;DefaultParameterValue(null)>] ?Showlegend,
13461346
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol,
@@ -1351,7 +1351,7 @@ type Chart =
13511351
[<Optional;DefaultParameterValue(null)>] ?TextFont,
13521352
[<Optional;DefaultParameterValue(null)>] ?UseWebGL
13531353
) =
1354-
let r,t = Seq.unzip rtheta
1354+
let r,t = Seq.unzip rTheta
13551355

13561356
Chart.PointPolar(
13571357
r, t,
@@ -1409,7 +1409,7 @@ type Chart =
14091409
///
14101410
static member LinePolar
14111411
(
1412-
rtheta,
1412+
rTheta,
14131413
[<Optional;DefaultParameterValue(null)>] ?Name,
14141414
[<Optional;DefaultParameterValue(null)>] ?Showlegend,
14151415
[<Optional;DefaultParameterValue(null)>] ?ShowMarkers,
@@ -1423,7 +1423,7 @@ type Chart =
14231423
[<Optional;DefaultParameterValue(null)>] ?Width,
14241424
[<Optional;DefaultParameterValue(null)>] ?UseWebGL
14251425
) =
1426-
let r,t = Seq.unzip rtheta
1426+
let r,t = Seq.unzip rTheta
14271427

14281428
Chart.LinePolar(
14291429
r, t,
@@ -1484,7 +1484,7 @@ type Chart =
14841484
///
14851485
static member SplinePolar
14861486
(
1487-
rtheta,
1487+
rTheta,
14881488
[<Optional;DefaultParameterValue(null)>] ?Name,
14891489
[<Optional;DefaultParameterValue(null)>] ?Showlegend,
14901490
[<Optional;DefaultParameterValue(null)>] ?ShowMarkers,
@@ -1499,7 +1499,7 @@ type Chart =
14991499
[<Optional;DefaultParameterValue(null)>] ?Width,
15001500
[<Optional;DefaultParameterValue(null)>] ?UseWebGL
15011501
) =
1502-
let r,t = Seq.unzip rtheta
1502+
let r,t = Seq.unzip rTheta
15031503

15041504
Chart.SplinePolar(
15051505
r, t,
@@ -1518,6 +1518,65 @@ type Chart =
15181518
?UseWebGL = UseWebGL
15191519
)
15201520

1521+
///
1522+
static member BubblePolar
1523+
(
1524+
r, theta, sizes:seq<#IConvertible>,
1525+
[<Optional;DefaultParameterValue(null)>] ?Name,
1526+
[<Optional;DefaultParameterValue(null)>] ?Showlegend,
1527+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol,
1528+
[<Optional;DefaultParameterValue(null)>] ?Color,
1529+
[<Optional;DefaultParameterValue(null)>] ?Opacity,
1530+
[<Optional;DefaultParameterValue(null)>] ?Labels,
1531+
[<Optional;DefaultParameterValue(null)>] ?TextPosition,
1532+
[<Optional;DefaultParameterValue(null)>] ?TextFont,
1533+
[<Optional;DefaultParameterValue(null)>] ?UseWebGL
1534+
) =
1535+
1536+
let changeMode = StyleParam.ModeUtils.showText (TextPosition.IsSome || TextFont.IsSome)
1537+
1538+
let style =
1539+
TraceStyle.ScatterPolar(
1540+
R = r,
1541+
Theta = theta,
1542+
Mode = changeMode StyleParam.Mode.Markers
1543+
)
1544+
>> TraceStyle.TraceInfo(?Name=Name,?Showlegend=Showlegend,?Opacity=Opacity)
1545+
>> TraceStyle.Marker(?Color=Color,?Symbol=MarkerSymbol,MultiSizes=sizes)
1546+
>> TraceStyle.TextLabel(?Text=Labels,?Textposition=TextPosition,?Textfont=TextFont)
1547+
1548+
let useWebGL = defaultArg UseWebGL false
1549+
1550+
Chart.renderScatterPolarTrace useWebGL style
1551+
1552+
///
1553+
static member BubblePolar
1554+
(
1555+
rThetaSizes:seq<#IConvertible*#IConvertible*#IConvertible>,
1556+
[<Optional;DefaultParameterValue(null)>] ?Name,
1557+
[<Optional;DefaultParameterValue(null)>] ?Showlegend,
1558+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol,
1559+
[<Optional;DefaultParameterValue(null)>] ?Color,
1560+
[<Optional;DefaultParameterValue(null)>] ?Opacity,
1561+
[<Optional;DefaultParameterValue(null)>] ?Labels,
1562+
[<Optional;DefaultParameterValue(null)>] ?TextPosition,
1563+
[<Optional;DefaultParameterValue(null)>] ?TextFont,
1564+
[<Optional;DefaultParameterValue(null)>] ?UseWebGL
1565+
) =
1566+
let r,t,sizes = Seq.unzip3 rThetaSizes
1567+
1568+
Chart.BubblePolar(
1569+
r, t, sizes,
1570+
?Name = Name,
1571+
?Showlegend = Showlegend,
1572+
?MarkerSymbol = MarkerSymbol,
1573+
?Color = Color,
1574+
?Opacity = Opacity,
1575+
?Labels = Labels,
1576+
?TextPosition = TextPosition,
1577+
?TextFont = TextFont,
1578+
?UseWebGL = UseWebGL
1579+
)
15211580

15221581
//static member WindRose(r, t,
15231582
// [<Optional;DefaultParameterValue(null)>] ?Name,

src/Plotly.NET/Playground.fsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ The relative position and angle of the axes is typically uninformative.
8686

8787
// webGL Comparison
8888

89-
let largeRT = [for i in 0. .. 0.01 .. 360. do yield i,i ]
89+
let largeRTSizes = [for i in 0. .. 0.01 .. 360. do yield i,i, 0.1 * i ]
9090

91-
let noGL = Chart.PointPolar(largeRT) |> Chart.Show
92-
let yesGL = Chart.PointPolar(largeRT,UseWebGL=true) |> Chart.Show // it is so much faster, damn
91+
let noGL = Chart.BubblePolar(largeRTSizes) |> Chart.Show
92+
let yesGL = Chart.BubblePolar(largeRTSizes,UseWebGL=true) |> Chart.Show // it is so much faster, damn
9393

9494
let polar1 =
9595
[

0 commit comments

Comments
 (0)