File tree Expand file tree Collapse file tree 2 files changed +57
-3
lines changed Expand file tree Collapse file tree 2 files changed +57
-3
lines changed Original file line number Diff line number Diff line change @@ -161,6 +161,30 @@ open FSharpAux
161161open System
162162open System.IO
163163
164+ let layout =
165+ Layout.init ( Font = Font.init ( Family = StyleParam.FontFamily.Raleway, Size = 14. ))
166+
167+ let traceTemplates = [
168+ Trace2D.initScatter (
169+ Trace2DStyle.Scatter( Marker = Marker.init ( Symbol = StyleParam.MarkerSymbol.Diamond, Size = 20 ))
170+ )
171+ Trace2D.initScatter (
172+ Trace2DStyle.Scatter( Marker = Marker.init ( Symbol = StyleParam.MarkerSymbol.ArrowBarLeft, Size = 10 ))
173+ )
174+ ]
175+
176+ let template = Template.init ( layout, traceTemplates)
177+
178+ [
179+ Chart.Scatter( x = [ 0 ; 1 ; 2 ], y = [ 2 ; 1 ; 3 ], mode = StyleParam.Mode.Markers)
180+ Chart.Scatter( x = [ 0 ; 1 ; 2 ], y = [ 1 ; 2 ; 4 ], mode = StyleParam.Mode.Markers)
181+ ]
182+ |> Chart.combine
183+ |> Chart.withLayout ( Layout.init ( Title = Title.init ( " Figure Title" )))
184+ |> Chart.withTemplate template
185+ //|> GenericChart.mapTrace (fun t -> t.Remove("marker"); t)
186+ |> Chart.show
187+
164188let y = [ 2.37 ; 2.16 ; 4.82 ; 1.73 ; 1.04 ; 0.23 ; 1.32 ; 2.91 ; 0.11 ; 4.51 ; 0.51 ; 3.75 ; 1.35 ; 2.98 ; 4.50 ; 0.18 ; 4.66 ; 1.30 ; 2.06 ; 1.19 ]
165189
166190[
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ type Template() =
1212 static member init
1313 (
1414 layoutTemplate : Layout ,
15- [<Optional; DefaultParameterValue( null ) >] ? TraceTemplates : #Trace []
15+ [<Optional; DefaultParameterValue( null ) >] ? TraceTemplates : seq < #Trace >
1616 ) =
1717 Template()
1818 |> Template.style
@@ -24,11 +24,41 @@ type Template() =
2424 static member style
2525 (
2626 layoutTemplate : Layout ,
27- [<Optional; DefaultParameterValue( null ) >] ? TraceTemplates : #Trace []
27+ [<Optional; DefaultParameterValue( null ) >] ? TraceTemplates : seq < #Trace >
2828 ) =
2929 ( fun ( template : Template ) ->
30+
31+ let traceTemplates =
32+ TraceTemplates
33+ |> Option.map ( fun traceTemplates ->
34+ traceTemplates
35+ |> Seq.groupBy ( fun t -> t.`` type `` )
36+ |> ( fun groupedTemplates ->
37+ groupedTemplates
38+ |> Seq.map ( fun ( id , templates ) ->
39+ id,
40+ templates
41+ |> Seq.map ( fun t ->
42+ let tmp = DynamicObj()
43+ t.CopyDynamicPropertiesTo( tmp)
44+ tmp
45+ )
46+
47+ )
48+ )
49+ )
50+ |> fun traceTemplates ->
51+ let tmp = DynamicObj()
52+ traceTemplates
53+ |> Option.iter ( Seq.iter ( fun ( id , traceTemplate ) ->
54+ traceTemplate |> DynObj.setValue tmp id
55+ )
56+ )
57+ tmp
58+
59+
3060 layoutTemplate |> DynObj.setValue template " layout"
31- TraceTemplates |> DynObj.setValueOpt template " data"
61+ traceTemplates |> DynObj.setValue template " data"
3262
3363 template
3464 )
You can’t perform that action at this time.
0 commit comments