Skip to content

Commit e8e4455

Browse files
committed
Rework marker object
1 parent 5bedd42 commit e8e4455

11 files changed

Lines changed: 395 additions & 193 deletions

File tree

docs/02_0_line-scatter-plots.fsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ let line1 =
5252
x,y,
5353
Name="line",
5454
ShowMarkers=true,
55-
MarkerSymbol=StyleParam.Symbol.Square)
55+
MarkerSymbol=StyleParam.MarkerSymbol.Square)
5656
|> Chart.withLineStyle(Width=2.,Dash=StyleParam.DrawingStyle.Dot)
5757

5858
(*** condition: ipynb ***)

src/Plotly.NET/ChartAPI/Chart2D.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -880,7 +880,7 @@ module Chart2D =
880880
)
881881
)
882882
|> TraceStyle.TraceInfo(?Name=Name,?ShowLegend=ShowLegend,?Opacity=Opacity)
883-
|> TraceStyle.Marker(?Color=Color,?Line=Line)
883+
|> TraceStyle.Marker(?Color=Color,?Outline=Line)
884884
|> TraceStyle.TextLabel(?Text=Labels,?Textposition=TextPosition,?Textfont=TextFont)
885885
|> GenericChart.ofTraceObject
886886

src/Plotly.NET/ChartAPI/ChartDomain.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ module ChartDomain =
234234
)
235235
)
236236
|> TraceStyle.TraceInfo(?Name=Name,?ShowLegend=ShowLegend,?Opacity=Opacity)
237-
|> TraceStyle.Marker(?Color=Color,?Line=Line)
237+
|> TraceStyle.Marker(?Color=Color,?Outline=Line)
238238
|> TraceStyle.Domain(?X=X,?Y=Y,?Row=Row,?Column=Column)
239239
|> TraceStyle.TextLabel(?Text=Text,?Textposition=TextPosition)
240240
|> GenericChart.ofTraceObject

src/Plotly.NET/ChartAPI/ChartTernary.fs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module ChartTernary =
2828
[<Optional;DefaultParameterValue(null)>] ?Labels : seq<#IConvertible>,
2929
[<Optional;DefaultParameterValue(null)>] ?Name : string,
3030
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
31-
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.Symbol,
31+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
3232
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
3333
[<Optional;DefaultParameterValue(null)>] ?Opacity : float,
3434
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
@@ -60,7 +60,7 @@ module ChartTernary =
6060
[<Optional;DefaultParameterValue(null)>] ?Labels : seq<#IConvertible>,
6161
[<Optional;DefaultParameterValue(null)>] ?Name : string,
6262
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
63-
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.Symbol,
63+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
6464
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
6565
[<Optional;DefaultParameterValue(null)>] ?Opacity : float,
6666
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
@@ -96,7 +96,7 @@ module ChartTernary =
9696
[<Optional;DefaultParameterValue(null)>] ?Labels : seq<#IConvertible>,
9797
[<Optional;DefaultParameterValue(null)>] ?Name : string,
9898
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
99-
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.Symbol,
99+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
100100
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
101101
[<Optional;DefaultParameterValue(null)>] ?Opacity : float,
102102
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
@@ -125,7 +125,7 @@ module ChartTernary =
125125
[<Optional;DefaultParameterValue(null)>] ?Labels : seq<#IConvertible>,
126126
[<Optional;DefaultParameterValue(null)>] ?Name : string,
127127
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
128-
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.Symbol,
128+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
129129
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
130130
[<Optional;DefaultParameterValue(null)>] ?Opacity : float,
131131
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
@@ -160,7 +160,7 @@ module ChartTernary =
160160
[<Optional;DefaultParameterValue(null)>] ?ShowMarkers : bool,
161161
[<Optional;DefaultParameterValue(null)>] ?Dash : StyleParam.DrawingStyle,
162162
[<Optional;DefaultParameterValue(null)>] ?Width : float,
163-
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.Symbol,
163+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
164164
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
165165
[<Optional;DefaultParameterValue(null)>] ?Opacity : float,
166166
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,
@@ -199,7 +199,7 @@ module ChartTernary =
199199
[<Optional;DefaultParameterValue(null)>] ?ShowMarkers : bool,
200200
[<Optional;DefaultParameterValue(null)>] ?Dash : StyleParam.DrawingStyle,
201201
[<Optional;DefaultParameterValue(null)>] ?Width : float,
202-
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.Symbol,
202+
[<Optional;DefaultParameterValue(null)>] ?MarkerSymbol : StyleParam.MarkerSymbol,
203203
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
204204
[<Optional;DefaultParameterValue(null)>] ?Opacity : float,
205205
[<Optional;DefaultParameterValue(null)>] ?TextPosition : StyleParam.TextPosition,

src/Plotly.NET/CommonAbstractions/Line.fs

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,26 +38,42 @@ type Line () =
3838
// Applies the styles to Line()
3939
static member style
4040
(
41-
[<Optional;DefaultParameterValue(null)>] ?Width:float,
42-
[<Optional;DefaultParameterValue(null)>] ?Color:Color,
43-
[<Optional;DefaultParameterValue(null)>] ?Shape:StyleParam.Shape,
44-
[<Optional;DefaultParameterValue(null)>] ?Dash:StyleParam.DrawingStyle,
45-
[<Optional;DefaultParameterValue(null)>] ?Smoothing:float,
46-
[<Optional;DefaultParameterValue(null)>] ?Colorscale:StyleParam.Colorscale,
47-
[<Optional;DefaultParameterValue(null)>] ?OutlierColor:Color,
48-
[<Optional;DefaultParameterValue(null)>] ?OutlierWidth:float
41+
[<Optional;DefaultParameterValue(null)>] ?Color : Color,
42+
[<Optional;DefaultParameterValue(null)>] ?Width : float,
43+
[<Optional;DefaultParameterValue(null)>] ?MultiWidths : seq<float>,
44+
[<Optional;DefaultParameterValue(null)>] ?Shape : StyleParam.Shape,
45+
[<Optional;DefaultParameterValue(null)>] ?Dash : StyleParam.DrawingStyle,
46+
[<Optional;DefaultParameterValue(null)>] ?Smoothing : float,
47+
[<Optional;DefaultParameterValue(null)>] ?OutlierColor : Color,
48+
[<Optional;DefaultParameterValue(null)>] ?OutlierWidth : float,
49+
[<Optional;DefaultParameterValue(null)>] ?AutoColorScale : bool,
50+
[<Optional;DefaultParameterValue(null)>] ?CAuto : bool,
51+
[<Optional;DefaultParameterValue(null)>] ?CMax : float,
52+
[<Optional;DefaultParameterValue(null)>] ?CMid : float,
53+
[<Optional;DefaultParameterValue(null)>] ?CMin : float,
54+
[<Optional;DefaultParameterValue(null)>] ?ColorAxis : StyleParam.SubPlotId,
55+
[<Optional;DefaultParameterValue(null)>] ?Colorscale : StyleParam.Colorscale,
56+
[<Optional;DefaultParameterValue(null)>] ?ReverseScale : bool
4957

5058
) =
5159
(fun (line:Line) ->
52-
Color |> DynObj.setValueOpt line "color"
53-
Width |> DynObj.setValueOpt line "width"
54-
Shape |> DynObj.setValueOptBy line "shape" StyleParam.Shape.convert
55-
Smoothing |> DynObj.setValueOpt line "smoothing"
56-
Dash |> DynObj.setValueOptBy line "dash" StyleParam.DrawingStyle.convert
57-
Colorscale |> DynObj.setValueOptBy line "colorscale" StyleParam.Colorscale.convert
58-
OutlierColor |> DynObj.setValueOpt line "outliercolor"
59-
OutlierWidth |> DynObj.setValueOpt line "outlierwidth"
60-
60+
Color |> DynObj.setValueOpt line "color"
61+
(Width,MultiWidths) |> DynObj.setSingleOrMultiOpt line "width"
62+
Shape |> DynObj.setValueOptBy line "shape" StyleParam.Shape.convert
63+
Smoothing |> DynObj.setValueOpt line "smoothing"
64+
Dash |> DynObj.setValueOptBy line "dash" StyleParam.DrawingStyle.convert
65+
OutlierColor |> DynObj.setValueOpt line "outliercolor"
66+
OutlierWidth |> DynObj.setValueOpt line "outlierwidth"
67+
AutoColorScale |> DynObj.setValueOpt line "autocolorscale"
68+
CAuto |> DynObj.setValueOpt line "cauto"
69+
CMax |> DynObj.setValueOpt line "cmax"
70+
CMid |> DynObj.setValueOpt line "cmid"
71+
CMin |> DynObj.setValueOpt line "cmin"
72+
Color |> DynObj.setValueOpt line "color"
73+
ColorAxis |> DynObj.setValueOptBy line "coloraxis" StyleParam.SubPlotId.convert
74+
Colorscale |> DynObj.setValueOptBy line "colorscale" StyleParam.Colorscale.convert
75+
ReverseScale |> DynObj.setValueOpt line "reversescale"
76+
6177
// out ->
6278
line
6379
)

src/Plotly.NET/CommonAbstractions/StyleParams.fs

Lines changed: 139 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,21 @@ module StyleParam =
813813
// #G#
814814
//--------------------------
815815

816+
[<RequireQualifiedAccess>]
817+
type GradientType =
818+
| Radial | Horizontal | Vertical | None
819+
820+
static member toString = function
821+
| Radial -> "radial"
822+
| Horizontal -> "horizontal"
823+
| Vertical -> "vertical"
824+
| None -> "none"
825+
826+
static member convert = GradientType.toString >> box
827+
override this.ToString() = this |> GradientType.toString
828+
member this.Convert() = this |> GradientType.convert
829+
830+
816831
[<RequireQualifiedAccess>]
817832
type GroupNorm =
818833
| None | Fraction | Percent
@@ -1736,63 +1751,137 @@ module StyleParam =
17361751
| Open
17371752
| Dot
17381753
| OpenDot
1754+
17391755
static member toString = function
1740-
| Open -> "Open"
1741-
| Dot -> "Dot"
1742-
| OpenDot -> "OpenDot"
1756+
| Open -> "open"
1757+
| Dot -> "dot"
1758+
| OpenDot -> "open-dot"
1759+
1760+
static member toModifier = function
1761+
| Open -> 100
1762+
| Dot -> 200
1763+
| OpenDot -> 300
17431764

17441765
static member convert = SymbolStyle.toString >> box
17451766
override this.ToString() = this |> SymbolStyle.toString
17461767
member this.Convert() = this |> SymbolStyle.convert
17471768

17481769
[<RequireQualifiedAccess>]
1749-
type Symbol =
1750-
| Circle = 0
1751-
| Square = 1
1752-
| Diamond = 2
1753-
| Cross = 3
1754-
| X = 4
1755-
| TriangleUp = 5
1756-
| TriangleDown = 6
1757-
| TriangleLeft = 7
1758-
| TriangleRight = 8
1759-
| TriangleNE = 9
1760-
| TriangleSE = 10
1761-
| TriangleSW = 11
1762-
| TriangleNW = 12
1763-
| Pentagon = 13
1764-
| Hexagon = 14
1765-
| Hexagon2 = 15
1766-
| Octagon = 16
1767-
| Star = 17
1768-
| Hexagram = 18
1769-
| StarTriangleUp = 19
1770-
| StarTriangleDown = 20
1771-
| StarSquare = 21
1772-
| StarDiamond = 22
1773-
| DiamondTall = 23
1774-
| DiamondWide = 24
1775-
| Hourglass = 25
1776-
| Bowtie = 26
1777-
| CircleCross = 27
1778-
| CircleX = 28
1779-
| SquareCross = 29
1780-
| SquareX = 30
1781-
| DiamondCross = 31
1782-
| DiamondX = 32
1783-
| CrossThin = 33
1784-
| XThin = 34
1785-
| Asterisk = 35
1786-
| Hash = 36
1787-
| YUp = 37
1788-
| YDown = 38
1789-
| YLeft = 39
1790-
| YRight = 40
1791-
| LineEW = 41
1792-
| LineNS = 42
1793-
| LineNE = 43
1794-
| LineNW = 44
1795-
1770+
type MarkerSymbol =
1771+
| Modified of MarkerSymbol * SymbolStyle
1772+
| Circle
1773+
| Square
1774+
| Diamond
1775+
| Cross
1776+
| X
1777+
| TriangleUp
1778+
| TriangleDown
1779+
| TriangleLeft
1780+
| TriangleRight
1781+
| TriangleNE
1782+
| TriangleSE
1783+
| TriangleSW
1784+
| TriangleNW
1785+
| Pentagon
1786+
| Hexagon
1787+
| Hexagon2
1788+
| Octagon
1789+
| Star
1790+
| Hexagram
1791+
| StarTriangleUp
1792+
| StarTriangleDown
1793+
| StarSquare
1794+
| StarDiamond
1795+
| DiamondTall
1796+
| DiamondWide
1797+
| Hourglass
1798+
| Bowtie
1799+
| CircleCross
1800+
| CircleX
1801+
| SquareCross
1802+
| SquareX
1803+
| DiamondCross
1804+
| DiamondX
1805+
| CrossThin
1806+
| XThin
1807+
| Asterisk
1808+
| Hash
1809+
| YUp
1810+
| YDown
1811+
| YLeft
1812+
| YRight
1813+
| LineEW
1814+
| LineNS
1815+
| LineNE
1816+
| LineNW
1817+
| ArrowUp
1818+
| ArrowDown
1819+
| ArrowLeft
1820+
| ArrowRight
1821+
| ArrowBarUp
1822+
| ArrowBarDown
1823+
| ArrowBarLeft
1824+
| ArrowBarRight
1825+
1826+
static member toInteger = function
1827+
| Modified (symbol, modifier) -> (symbol |> MarkerSymbol.toInteger) + SymbolStyle.toModifier modifier
1828+
| Circle -> 0
1829+
| Square -> 1
1830+
| Diamond -> 2
1831+
| Cross -> 3
1832+
| X -> 4
1833+
| TriangleUp -> 5
1834+
| TriangleDown -> 6
1835+
| TriangleLeft -> 7
1836+
| TriangleRight -> 8
1837+
| TriangleNE -> 9
1838+
| TriangleSE -> 10
1839+
| TriangleSW -> 11
1840+
| TriangleNW -> 12
1841+
| Pentagon -> 13
1842+
| Hexagon -> 14
1843+
| Hexagon2 -> 15
1844+
| Octagon -> 16
1845+
| Star -> 17
1846+
| Hexagram -> 18
1847+
| StarTriangleUp -> 19
1848+
| StarTriangleDown -> 20
1849+
| StarSquare -> 21
1850+
| StarDiamond -> 22
1851+
| DiamondTall -> 23
1852+
| DiamondWide -> 24
1853+
| Hourglass -> 25
1854+
| Bowtie -> 26
1855+
| CircleCross -> 27
1856+
| CircleX -> 28
1857+
| SquareCross -> 29
1858+
| SquareX -> 30
1859+
| DiamondCross -> 31
1860+
| DiamondX -> 32
1861+
| CrossThin -> 33
1862+
| XThin -> 34
1863+
| Asterisk -> 35
1864+
| Hash -> 36
1865+
| YUp -> 37
1866+
| YDown -> 38
1867+
| YLeft -> 39
1868+
| YRight -> 40
1869+
| LineEW -> 41
1870+
| LineNS -> 42
1871+
| LineNE -> 43
1872+
| LineNW -> 44
1873+
| ArrowUp -> 45
1874+
| ArrowDown -> 46
1875+
| ArrowLeft -> 47
1876+
| ArrowRight -> 48
1877+
| ArrowBarUp -> 49
1878+
| ArrowBarDown -> 50
1879+
| ArrowBarLeft -> 51
1880+
| ArrowBarRight -> 52
1881+
1882+
static member convert = MarkerSymbol.toInteger >> string >> box
1883+
override this.ToString() = this |> MarkerSymbol.toInteger |> string
1884+
member this.Convert() = this |> MarkerSymbol.toInteger |> string |> box
17961885

17971886
/// Determines the line shape. With "spline" the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.
17981887
[<RequireQualifiedAccess>]

0 commit comments

Comments
 (0)