Skip to content

Commit 969bb3f

Browse files
committed
Add Chart.PlineCarpet, fix some Chart.LineCarpet props
1 parent 2b710a0 commit 969bb3f

File tree

2 files changed

+142
-3
lines changed

2 files changed

+142
-3
lines changed

src/Plotly.NET/ChartAPI/ChartCarpet.fs

Lines changed: 141 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,8 @@ module ChartCarpet =
317317
?TextPosition = TextPosition ,
318318
?MultiTextPosition = MultiTextPosition,
319319
?TextFont = TextFont ,
320-
?Marker = Marker
320+
?Marker = Marker ,
321+
?Line = Line
321322
)
322323
>> TraceStyle.Marker(
323324
?Symbol = MarkerSymbol ,
@@ -328,6 +329,11 @@ module ChartCarpet =
328329
?Size = Size ,
329330
?MultiSize = MultiSize
330331
)
332+
>> TraceStyle.Line(
333+
?Dash = Dash,
334+
?Width = Width,
335+
?Color = Color
336+
)
331337
)
332338
|> GenericChart.ofTraceObject
333339

@@ -338,6 +344,9 @@ module ChartCarpet =
338344
carpetAnchorId : string,
339345
[<Optional;DefaultParameterValue(null)>] ?Name : string,
340346
[<Optional;DefaultParameterValue(null)>] ?ShowMarkers : bool,
347+
[<Optional;DefaultParameterValue(null)>] ?Dash : StyleParam.DrawingStyle,
348+
[<Optional;DefaultParameterValue(null)>] ?Width : float ,
349+
[<Optional;DefaultParameterValue(null)>] ?Line : Line,
341350
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
342351
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
343352
[<Optional;DefaultParameterValue(null)>] ?MultiMarkerSymbol : seq<StyleParam.MarkerSymbol>,
@@ -356,9 +365,13 @@ module ChartCarpet =
356365

357366
let a,b = Seq.unzip ab
358367

359-
Chart.PointCarpet(
368+
Chart.LineCarpet(
360369
a, b, carpetAnchorId,
361370
?Name = Name ,
371+
?ShowMarkers = ShowMarkers ,
372+
?Dash = Dash ,
373+
?Width = Width ,
374+
?Line = Line ,
362375
?ShowLegend = ShowLegend ,
363376
?MarkerSymbol = MarkerSymbol ,
364377
?MultiMarkerSymbol = MultiMarkerSymbol ,
@@ -373,4 +386,129 @@ module ChartCarpet =
373386
?Size = Size ,
374387
?MultiSize = MultiSize ,
375388
?Marker = Marker
376-
)
389+
)
390+
391+
[<Extension>]
392+
static member SplineCarpet
393+
(
394+
a : seq<#IConvertible>,
395+
b : seq<#IConvertible>,
396+
carpetAnchorId : string,
397+
[<Optional;DefaultParameterValue(null)>] ?Name : string,
398+
[<Optional;DefaultParameterValue(null)>] ?ShowMarkers : bool,
399+
[<Optional;DefaultParameterValue(null)>] ?Dash : StyleParam.DrawingStyle,
400+
[<Optional;DefaultParameterValue(null)>] ?Width : float ,
401+
[<Optional;DefaultParameterValue(null)>] ?Smoothing : float,
402+
[<Optional;DefaultParameterValue(null)>] ?Line : Line,
403+
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
404+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
405+
[<Optional;DefaultParameterValue(null)>] ?MultiMarkerSymbol : seq<StyleParam.MarkerSymbol>,
406+
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
407+
[<Optional;DefaultParameterValue(null)>] ?Opacity : float,
408+
[<Optional;DefaultParameterValue(null)>] ?MultiOpacity : seq<float>,
409+
[<Optional;DefaultParameterValue(null)>] ?Text : #IConvertible,
410+
[<Optional;DefaultParameterValue(null)>] ?MultiText : seq<#IConvertible>,
411+
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
412+
[<Optional;DefaultParameterValue(null)>] ?MultiTextPosition : seq<StyleParam.TextPosition>,
413+
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
414+
[<Optional;DefaultParameterValue(null)>] ?Size : int,
415+
[<Optional;DefaultParameterValue(null)>] ?MultiSize : seq<int>,
416+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
417+
) =
418+
419+
let changeMode =
420+
let isShowMarker =
421+
match ShowMarkers with
422+
| Some isShow -> isShow
423+
| Option.None -> false
424+
StyleParam.ModeUtils.showText (TextPosition.IsSome || TextFont.IsSome)
425+
>> StyleParam.ModeUtils.showMarker (isShowMarker)
426+
427+
TraceCarpet.initScatterCarpet(
428+
TraceCarpetStyle.ScatterCarpet(
429+
A = a,
430+
B = b,
431+
Mode = changeMode StyleParam.Mode.Lines,
432+
Carpet = (carpetAnchorId |> StyleParam.SubPlotId.Carpet),
433+
?Name = Name ,
434+
?ShowLegend = ShowLegend ,
435+
?Opacity = Opacity ,
436+
?Text = Text ,
437+
?MultiText = MultiText ,
438+
?TextPosition = TextPosition ,
439+
?MultiTextPosition = MultiTextPosition,
440+
?TextFont = TextFont ,
441+
?Marker = Marker ,
442+
?Line = Line
443+
)
444+
>> TraceStyle.Marker(
445+
?Symbol = MarkerSymbol ,
446+
?MultiSymbol = MultiMarkerSymbol,
447+
?Color = Color ,
448+
?Opacity = Opacity ,
449+
?MultiOpacity = MultiOpacity ,
450+
?Size = Size ,
451+
?MultiSize = MultiSize
452+
)
453+
>> TraceStyle.Line(
454+
?Color = Color,
455+
?Dash = Dash,
456+
?Width = Width,
457+
Shape = StyleParam.Shape.Spline,
458+
?Smoothing = Smoothing
459+
)
460+
)
461+
|> GenericChart.ofTraceObject
462+
463+
[<Extension>]
464+
static member SplineCarpet
465+
(
466+
ab : seq<#IConvertible*#IConvertible>,
467+
carpetAnchorId : string,
468+
[<Optional;DefaultParameterValue(null)>] ?Name : string,
469+
[<Optional;DefaultParameterValue(null)>] ?ShowMarkers : bool,
470+
[<Optional;DefaultParameterValue(null)>] ?Dash : StyleParam.DrawingStyle,
471+
[<Optional;DefaultParameterValue(null)>] ?Width : float ,
472+
[<Optional;DefaultParameterValue(null)>] ?Smoothing : float,
473+
[<Optional;DefaultParameterValue(null)>] ?Line : Line,
474+
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
475+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
476+
[<Optional;DefaultParameterValue(null)>] ?MultiMarkerSymbol : seq<StyleParam.MarkerSymbol>,
477+
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
478+
[<Optional;DefaultParameterValue(null)>] ?Opacity : float,
479+
[<Optional;DefaultParameterValue(null)>] ?MultiOpacity : seq<float>,
480+
[<Optional;DefaultParameterValue(null)>] ?Text : #IConvertible,
481+
[<Optional;DefaultParameterValue(null)>] ?MultiText : seq<#IConvertible>,
482+
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
483+
[<Optional;DefaultParameterValue(null)>] ?MultiTextPosition : seq<StyleParam.TextPosition>,
484+
[<Optional;DefaultParameterValue(null)>] ?TextFont : Font,
485+
[<Optional;DefaultParameterValue(null)>] ?Size : int,
486+
[<Optional;DefaultParameterValue(null)>] ?MultiSize : seq<int>,
487+
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
488+
) =
489+
490+
let a,b = Seq.unzip ab
491+
492+
Chart.SplineCarpet(
493+
a, b, carpetAnchorId,
494+
?Name = Name ,
495+
?ShowMarkers = ShowMarkers ,
496+
?Dash = Dash ,
497+
?Width = Width ,
498+
?Smoothing = Smoothing ,
499+
?Line = Line ,
500+
?ShowLegend = ShowLegend ,
501+
?MarkerSymbol = MarkerSymbol ,
502+
?MultiMarkerSymbol = MultiMarkerSymbol ,
503+
?Color = Color ,
504+
?Opacity = Opacity ,
505+
?MultiOpacity = MultiOpacity ,
506+
?Text = Text ,
507+
?MultiText = MultiText ,
508+
?TextPosition = TextPosition ,
509+
?MultiTextPosition = MultiTextPosition ,
510+
?TextFont = TextFont ,
511+
?Size = Size ,
512+
?MultiSize = MultiSize ,
513+
?Marker = Marker
514+
)

src/Plotly.NET/Playground.fsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ let carpets =
216216
)
217217
Chart.PointCarpet(a,b,"carpet2",Name = "Point")
218218
Chart.LineCarpet(a,b,"carpet3",Name = "Line")
219+
Chart.SplineCarpet(a,b,"carpet4",Name = "Spline")
219220
]
220221
|> Chart.combine
221222
|> Chart.withSize(Height=1000)

0 commit comments

Comments
 (0)