1
+ module ChartCarpetTestCharts
2
+
3
+
4
+ open Plotly.NET
5
+ open Plotly.NET .TraceObjects
6
+ open Plotly.NET .LayoutObjects
7
+ open System
8
+
9
+ open TestUtils.DataGeneration
10
+ open Deedle
11
+
12
+ let internal a = [ 4. ; 4. ; 4. ; 4.5 ; 4.5 ; 4.5 ; 5. ; 5. ; 5. ; 6. ; 6. ; 6. ]
13
+ let internal b = [ 1. ; 2. ; 3. ; 1. ; 2. ; 3. ; 1. ; 2. ; 3. ; 1. ; 2. ; 3. ]
14
+ let internal y = [ 2. ; 3.5 ; 4. ; 3. ; 4.5 ; 5. ; 5.5 ; 6.5 ; 7.5 ; 8. ; 8.5 ; 10. ]
15
+
16
+ let internal carpets =
17
+ [
18
+ Chart.Carpet( carpetId = " carpet1" , A = a, B = b, Y = y, UseDefaults = false )
19
+ Chart.Carpet( carpetId = " carpet2" , A = ( a |> List.rev) , B = ( b |> List.rev), Y = ( y |> List.map ( fun x -> x + 10. )), UseDefaults = false )
20
+ Chart.Carpet( carpetId = " carpet3" , A = a, B = b, Y = ( y |> List.map ( fun x -> x + 20. )), UseDefaults = false )
21
+ Chart.Carpet( carpetId = " carpet4" , A = ( a |> List.rev) , B = ( b |> List.rev), Y = ( y |> List.map ( fun x -> x + 30. )), UseDefaults = false )
22
+ Chart.Carpet( carpetId = " carpet5" , A = a, B = b, Y = ( y |> List.map ( fun x -> x + 40. )), UseDefaults = false )
23
+ ]
24
+
25
+ let internal aData = [ 4. ; 5. ; 5. ; 6. ]
26
+ let internal bData = [ 1. ; 1. ; 2. ; 3. ]
27
+ let internal sizes = [ 5 ; 10 ; 15 ; 20 ]
28
+
29
+ let internal carpetCharts =
30
+ [
31
+ Chart.ScatterCarpet(
32
+ a = aData, b = bData,
33
+ mode = StyleParam.Mode.Lines_ Markers,
34
+ carpetAnchorId = " carpet1" ,
35
+ Name = " Scatter" ,
36
+ MultiMarkerSymbol =[
37
+ StyleParam.MarkerSymbol.ArrowDown
38
+ StyleParam.MarkerSymbol.TriangleNW
39
+ StyleParam.MarkerSymbol.DiamondX
40
+ StyleParam.MarkerSymbol.Hexagon2
41
+ ],
42
+ MarkerColor = Color.fromColors ([ Red; Blue; Green; Yellow] |> List.map Color.fromKeyword),
43
+ UseDefaults = false
44
+ )
45
+ Chart.PointCarpet( a = aData, b = bData, carpetAnchorId = " carpet2" , Name = " Point" , UseDefaults = false )
46
+ Chart.LineCarpet( a = aData, b = bData, carpetAnchorId = " carpet3" , Name = " Line" , UseDefaults = false )
47
+ Chart.SplineCarpet( a = aData, b = bData, carpetAnchorId = " carpet4" , Name = " Spline" , UseDefaults = false )
48
+ Chart.BubbleCarpet( absizes = ( Seq.zip3 aData bData sizes), carpetAnchorId = " carpet5" , Name = " Bubble" , UseDefaults = false )
49
+ ]
50
+
51
+ module Carpet =
52
+
53
+ let ``Base carpet chart`` = carpets[ 0 ]
54
+
55
+ module ScatterCarpet =
56
+
57
+ let ``Simple carpet scatter chart`` = Chart.combine [ carpets.[ 0 ]; carpetCharts.[ 0 ]]
58
+
59
+ module PointCarpet =
60
+
61
+ let ``Simple carpet point chart`` = Chart.combine [ carpets.[ 1 ]; carpetCharts.[ 1 ]]
62
+
63
+ module LineCarpet =
64
+
65
+ let ``Simple carpet line chart`` = Chart.combine [ carpets.[ 2 ]; carpetCharts.[ 2 ]]
66
+
67
+ module SplineCarpet =
68
+
69
+ let ``Simple carpet spline chart`` = Chart.combine [ carpets.[ 3 ]; carpetCharts.[ 3 ]]
70
+
71
+ module BubbleCarpet =
72
+
73
+ let ``Simple carpet bubble chart`` = Chart.combine [ carpets.[ 4 ]; carpetCharts.[ 4 ]]
74
+
75
+ module ContourCarpet =
76
+
77
+ let ``Styled carpet contour chart`` =
78
+ [
79
+ Chart.Carpet(
80
+ carpetId = " contour" ,
81
+ A = [ 0. ; 1. ; 2. ; 3. ; 0. ; 1. ; 2. ; 3. ; 0. ; 1. ; 2. ; 3. ],
82
+ B = [ 4. ; 4. ; 4. ; 4. ; 5. ; 5. ; 5. ; 5. ; 6. ; 6. ; 6. ; 6. ],
83
+ X = [ 2. ; 3. ; 4. ; 5. ; 2.2 ; 3.1 ; 4.1 ; 5.1 ; 1.5 ; 2.5 ; 3.5 ; 4.5 ],
84
+ Y = [ 1. ; 1.4 ; 1.6 ; 1.75 ; 2. ; 2.5 ; 2.7 ; 2.75 ; 3. ; 3.5 ; 3.7 ; 3.75 ],
85
+ AAxis = LinearAxis.initCarpet(
86
+ TickPrefix = " a = " ,
87
+ Smoothing = 0. ,
88
+ MinorGridCount = 9 ,
89
+ AxisType = StyleParam.AxisType.Linear
90
+ ),
91
+ BAxis = LinearAxis.initCarpet(
92
+ TickPrefix = " b = " ,
93
+ Smoothing = 0. ,
94
+ MinorGridCount = 9 ,
95
+ AxisType = StyleParam.AxisType.Linear
96
+ ),
97
+ UseDefaults = false ,
98
+ Opacity = 0.75
99
+ )
100
+ Chart.ContourCarpet(
101
+ z = [ 1. ; 1.96 ; 2.56 ; 3.0625 ; 4. ; 5.0625 ; 1. ; 7.5625 ; 9. ; 12.25 ; 15.21 ; 14.0625 ],
102
+ carpetAnchorId = " contour" ,
103
+ A = [ 0 ; 1 ; 2 ; 3 ; 0 ; 1 ; 2 ; 3 ; 0 ; 1 ; 2 ; 3 ],
104
+ B = [ 4 ; 4 ; 4 ; 4 ; 5 ; 5 ; 5 ; 5 ; 6 ; 6 ; 6 ; 6 ],
105
+ UseDefaults = false ,
106
+ ContourLineColor = Color.fromKeyword White,
107
+ ShowContourLabels = true
108
+ )
109
+ ]
110
+ |> Chart.combine
0 commit comments