Skip to content

Commit a0323bc

Browse files
committed
Implement Global Defaults, add plotly template
1 parent a2ac99d commit a0323bc

File tree

19 files changed

+1659
-956
lines changed

19 files changed

+1659
-956
lines changed

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
33
"version": "5.0.100",
4-
"rollForward": "latestFeature"
4+
"rollForward": "latestMajor"
55
}
66
}

src/Plotly.NET/ChartAPI/Chart.fs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ type Chart =
5959

6060
let trace = Trace2D.initScatter(id)
6161
trace.Remove("type") |> ignore
62-
GenericChart.ofTraceObject trace
62+
GenericChart.ofTraceObject false trace
6363
|> GenericChart.mapLayout ( fun l ->
6464
l
6565
|> Layout.AddLinearAxis(StyleParam.SubPlotId.XAxis 1,hiddenAxis())
@@ -976,10 +976,9 @@ type Chart =
976976
static member withTemplate(template: Template) =
977977
(fun (ch:GenericChart) ->
978978
ch
979-
|> GenericChart.mapLayout (fun l ->
980-
template |> DynObj.setValue l "template"
981-
l
982-
)
979+
|> GenericChart.mapLayout (
980+
Layout.style(Template = (template :> DynamicObj))
981+
)
983982
)
984983

985984
// TODO: Include withLegend & withLegendStyle

src/Plotly.NET/ChartAPI/Chart2D.fs

Lines changed: 363 additions & 197 deletions
Large diffs are not rendered by default.

src/Plotly.NET/ChartAPI/Chart3D.fs

Lines changed: 124 additions & 68 deletions
Large diffs are not rendered by default.

src/Plotly.NET/ChartAPI/ChartCarpet.fs

Lines changed: 75 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,11 @@ module ChartCarpet =
3737
[<Optional;DefaultParameterValue(null)>] ?XAxis : StyleParam.LinearAxisId,
3838
[<Optional;DefaultParameterValue(null)>] ?YAxis : StyleParam.LinearAxisId,
3939
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
40-
[<Optional;DefaultParameterValue(null)>] ?CheaterSlope : float
41-
) =
40+
[<Optional;DefaultParameterValue(null)>] ?CheaterSlope : float,
41+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
42+
) =
43+
44+
let useDefaults = defaultArg UseDefaults true
4245
TraceCarpet.initCarpet(
4346
TraceCarpetStyle.Carpet(
4447
Carpet = StyleParam.SubPlotId.Carpet carpetId,
@@ -59,7 +62,7 @@ module ChartCarpet =
5962
?CheaterSlope = CheaterSlope
6063
)
6164
)
62-
|> GenericChart.ofTraceObject
65+
|> GenericChart.ofTraceObject useDefaults
6366

6467
[<Extension>]
6568
static member ScatterCarpet
@@ -85,8 +88,11 @@ module ChartCarpet =
8588
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
8689
[<Optional;DefaultParameterValue(null)>] ?Dash : StyleParam.DrawingStyle,
8790
[<Optional;DefaultParameterValue(null)>] ?Width : float ,
88-
[<Optional;DefaultParameterValue(null)>] ?Line : Line
89-
) =
91+
[<Optional;DefaultParameterValue(null)>] ?Line : Line,
92+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
93+
) =
94+
95+
let useDefaults = defaultArg UseDefaults true
9096
TraceCarpet.initScatterCarpet(
9197
TraceCarpetStyle.ScatterCarpet(
9298
A = a,
@@ -120,7 +126,7 @@ module ChartCarpet =
120126
)
121127

122128
)
123-
|> GenericChart.ofTraceObject
129+
|> GenericChart.ofTraceObject useDefaults
124130

125131
[<Extension>]
126132
static member ScatterCarpet
@@ -145,8 +151,10 @@ module ChartCarpet =
145151
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
146152
[<Optional;DefaultParameterValue(null)>] ?Dash : StyleParam.DrawingStyle,
147153
[<Optional;DefaultParameterValue(null)>] ?Width : float ,
148-
[<Optional;DefaultParameterValue(null)>] ?Line : Line
149-
) =
154+
[<Optional;DefaultParameterValue(null)>] ?Line : Line,
155+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
156+
) =
157+
150158
let a,b = Seq.unzip ab
151159

152160
Chart.ScatterCarpet(
@@ -168,7 +176,8 @@ module ChartCarpet =
168176
?Marker = Marker ,
169177
?Dash = Dash ,
170178
?Width = Width ,
171-
?Line = Line
179+
?Line = Line ,
180+
?UseDefaults = UseDefaults
172181
)
173182

174183

@@ -192,8 +201,11 @@ module ChartCarpet =
192201
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
193202
[<Optional;DefaultParameterValue(null)>] ?Size : int,
194203
[<Optional;DefaultParameterValue(null)>] ?MultiSize : seq<int>,
195-
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
196-
) =
204+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
205+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
206+
) =
207+
208+
let useDefaults = defaultArg UseDefaults true
197209

198210
let changeMode = StyleParam.ModeUtils.showText (TextPosition.IsSome || TextFont.IsSome)
199211

@@ -223,7 +235,7 @@ module ChartCarpet =
223235
?MultiSize = MultiSize
224236
)
225237
)
226-
|> GenericChart.ofTraceObject
238+
|> GenericChart.ofTraceObject useDefaults
227239

228240
[<Extension>]
229241
static member PointCarpet
@@ -244,8 +256,9 @@ module ChartCarpet =
244256
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
245257
[<Optional;DefaultParameterValue(null)>] ?Size : int,
246258
[<Optional;DefaultParameterValue(null)>] ?MultiSize : seq<int>,
247-
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
248-
) =
259+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
260+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
261+
) =
249262

250263
let a,b = Seq.unzip ab
251264

@@ -265,7 +278,8 @@ module ChartCarpet =
265278
?TextFont = TextFont ,
266279
?Size = Size ,
267280
?MultiSize = MultiSize ,
268-
?Marker = Marker
281+
?Marker = Marker ,
282+
?UseDefaults = UseDefaults
269283
)
270284

271285
[<Extension>]
@@ -292,8 +306,11 @@ module ChartCarpet =
292306
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
293307
[<Optional;DefaultParameterValue(null)>] ?Size : int,
294308
[<Optional;DefaultParameterValue(null)>] ?MultiSize : seq<int>,
295-
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
296-
) =
309+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
310+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
311+
) =
312+
313+
let useDefaults = defaultArg UseDefaults true
297314

298315
let changeMode =
299316
let isShowMarker =
@@ -335,7 +352,7 @@ module ChartCarpet =
335352
?Color = Color
336353
)
337354
)
338-
|> GenericChart.ofTraceObject
355+
|> GenericChart.ofTraceObject useDefaults
339356

340357
[<Extension>]
341358
static member LineCarpet
@@ -360,8 +377,9 @@ module ChartCarpet =
360377
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
361378
[<Optional;DefaultParameterValue(null)>] ?Size : int,
362379
[<Optional;DefaultParameterValue(null)>] ?MultiSize : seq<int>,
363-
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
364-
) =
380+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
381+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
382+
) =
365383

366384
let a,b = Seq.unzip ab
367385

@@ -385,7 +403,8 @@ module ChartCarpet =
385403
?TextFont = TextFont ,
386404
?Size = Size ,
387405
?MultiSize = MultiSize ,
388-
?Marker = Marker
406+
?Marker = Marker ,
407+
?UseDefaults = UseDefaults
389408
)
390409

391410
[<Extension>]
@@ -413,8 +432,11 @@ module ChartCarpet =
413432
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
414433
[<Optional;DefaultParameterValue(null)>] ?Size : int,
415434
[<Optional;DefaultParameterValue(null)>] ?MultiSize : seq<int>,
416-
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
417-
) =
435+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
436+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
437+
) =
438+
439+
let useDefaults = defaultArg UseDefaults true
418440

419441
let changeMode =
420442
let isShowMarker =
@@ -458,7 +480,7 @@ module ChartCarpet =
458480
?Smoothing = Smoothing
459481
)
460482
)
461-
|> GenericChart.ofTraceObject
483+
|> GenericChart.ofTraceObject useDefaults
462484

463485
[<Extension>]
464486
static member SplineCarpet
@@ -484,8 +506,9 @@ module ChartCarpet =
484506
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
485507
[<Optional;DefaultParameterValue(null)>] ?Size : int,
486508
[<Optional;DefaultParameterValue(null)>] ?MultiSize : seq<int>,
487-
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
488-
) =
509+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
510+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
511+
) =
489512

490513
let a,b = Seq.unzip ab
491514

@@ -510,7 +533,8 @@ module ChartCarpet =
510533
?TextFont = TextFont ,
511534
?Size = Size ,
512535
?MultiSize = MultiSize ,
513-
?Marker = Marker
536+
?Marker = Marker ,
537+
?UseDefaults = UseDefaults
514538
)
515539

516540
static member BubbleCarpet
@@ -531,8 +555,10 @@ module ChartCarpet =
531555
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
532556
[<Optional;DefaultParameterValue(null)>] ?MultiTextPosition : seq<StyleParam.TextPosition>,
533557
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
534-
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
535-
) =
558+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
559+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
560+
) =
561+
536562
Chart.PointCarpet(
537563
a,b,carpetAnchorId,
538564
MultiSize = sizes,
@@ -548,7 +574,8 @@ module ChartCarpet =
548574
?TextPosition = TextPosition ,
549575
?MultiTextPosition = MultiTextPosition,
550576
?TextFont = TextFont ,
551-
?Marker = Marker
577+
?Marker = Marker ,
578+
?UseDefaults = UseDefaults
552579
)
553580

554581
static member BubbleCarpet
@@ -567,8 +594,9 @@ module ChartCarpet =
567594
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
568595
[<Optional;DefaultParameterValue(null)>] ?MultiTextPosition : seq<StyleParam.TextPosition>,
569596
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
570-
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
571-
) =
597+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker,
598+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
599+
) =
572600

573601
let a,b,sizes = Seq.unzip3 absizes
574602

@@ -587,7 +615,8 @@ module ChartCarpet =
587615
?TextPosition = TextPosition ,
588616
?MultiTextPosition = MultiTextPosition,
589617
?TextFont = TextFont ,
590-
?Marker = Marker
618+
?Marker = Marker ,
619+
?UseDefaults = UseDefaults
591620
)
592621

593622
static member ContourCarpet
@@ -607,8 +636,12 @@ module ChartCarpet =
607636
[<Optional;DefaultParameterValue(null)>] ?Line : Line,
608637
[<Optional;DefaultParameterValue(null)>] ?ColorScale: StyleParam.Colorscale,
609638
[<Optional;DefaultParameterValue(null)>] ?ShowScale : bool,
610-
[<Optional;DefaultParameterValue(null)>] ?Contours : Contours
611-
) =
639+
[<Optional;DefaultParameterValue(null)>] ?Contours : Contours,
640+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
641+
) =
642+
643+
let useDefaults = defaultArg UseDefaults true
644+
612645
TraceCarpet.initContourCarpet(
613646
TraceCarpetStyle.ContourCarpet (
614647
Carpet = StyleParam.SubPlotId.Carpet carpetAnchorId,
@@ -631,7 +664,7 @@ module ChartCarpet =
631664
?Color = LineColor
632665
)
633666
)
634-
|> GenericChart.ofTraceObject
667+
|> GenericChart.ofTraceObject useDefaults
635668

636669

637670
static member ContourCarpet
@@ -649,8 +682,11 @@ module ChartCarpet =
649682
[<Optional;DefaultParameterValue(null)>] ?Line : Line,
650683
[<Optional;DefaultParameterValue(null)>] ?ColorScale: StyleParam.Colorscale,
651684
[<Optional;DefaultParameterValue(null)>] ?ShowScale : bool,
652-
[<Optional;DefaultParameterValue(null)>] ?Contours : Contours
653-
) =
685+
[<Optional;DefaultParameterValue(null)>] ?Contours : Contours,
686+
[<Optional;DefaultParameterValue(true)>] ?UseDefaults : bool
687+
) =
688+
689+
let useDefaults = defaultArg UseDefaults true
654690

655691
let a,b,z = Seq.unzip3 abz
656692

@@ -676,6 +712,6 @@ module ChartCarpet =
676712
?Color = LineColor
677713
)
678714
)
679-
|> GenericChart.ofTraceObject
715+
|> GenericChart.ofTraceObject useDefaults
680716

681717

0 commit comments

Comments
 (0)