Skip to content

Commit da3ffc4

Browse files
committed
Add Pattern/MultiPattern to all Bar/Column chart constructors
1 parent 1d10820 commit da3ffc4

File tree

3 files changed

+55
-14
lines changed

3 files changed

+55
-14
lines changed

src/Plotly.NET/ChartAPI/Chart2D.fs

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -991,6 +991,8 @@ module Chart2D =
991991
[<Optional;DefaultParameterValue(null)>] ?Name : string ,
992992
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
993993
[<Optional;DefaultParameterValue(null)>] ?Color : Color ,
994+
[<Optional;DefaultParameterValue(null)>] ?PatternShape : StyleParam.PatternShape,
995+
[<Optional;DefaultParameterValue(null)>] ?MultiPatternShape : seq<StyleParam.PatternShape>,
994996
[<Optional;DefaultParameterValue(null)>] ?Pattern : Pattern,
995997
[<Optional;DefaultParameterValue(null)>] ?Base : #IConvertible,
996998
[<Optional;DefaultParameterValue(null)>] ?Width : #IConvertible,
@@ -1005,12 +1007,19 @@ module Chart2D =
10051007
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
10061008
) =
10071009

1010+
let pattern =
1011+
Pattern
1012+
|> Option.defaultValue (TraceObjects.Pattern.init())
1013+
|> TraceObjects.Pattern.style(
1014+
?Shape = PatternShape,
1015+
?MultiShape = MultiPatternShape
1016+
)
10081017
let marker =
10091018
Marker
10101019
|> Option.defaultValue (TraceObjects.Marker.init())
10111020
|> TraceObjects.Marker.style(
10121021
?Color = Color,
1013-
?Pattern = Pattern,
1022+
Pattern = pattern,
10141023
?MultiOpacity = MultiOpacity
10151024
)
10161025

@@ -1044,6 +1053,8 @@ module Chart2D =
10441053
[<Optional;DefaultParameterValue(null)>] ?Name : string ,
10451054
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
10461055
[<Optional;DefaultParameterValue(null)>] ?Color : Color ,
1056+
[<Optional;DefaultParameterValue(null)>] ?PatternShape : StyleParam.PatternShape,
1057+
[<Optional;DefaultParameterValue(null)>] ?MultiPatternShape : seq<StyleParam.PatternShape>,
10471058
[<Optional;DefaultParameterValue(null)>] ?Pattern : Pattern,
10481059
[<Optional;DefaultParameterValue(null)>] ?Base : #IConvertible,
10491060
[<Optional;DefaultParameterValue(null)>] ?Width : #IConvertible,
@@ -1064,6 +1075,8 @@ module Chart2D =
10641075
?Name = Name ,
10651076
?ShowLegend = ShowLegend ,
10661077
?Color = Color ,
1078+
?PatternShape = PatternShape ,
1079+
?MultiPatternShape = MultiPatternShape,
10671080
?Pattern = Pattern ,
10681081
?Base = Base ,
10691082
?Width = Width ,
@@ -1088,6 +1101,8 @@ module Chart2D =
10881101
[<Optional;DefaultParameterValue(null)>] ?Name : string ,
10891102
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
10901103
[<Optional;DefaultParameterValue(null)>] ?Color : Color ,
1104+
[<Optional;DefaultParameterValue(null)>] ?PatternShape : StyleParam.PatternShape,
1105+
[<Optional;DefaultParameterValue(null)>] ?MultiPatternShape : seq<StyleParam.PatternShape>,
10911106
[<Optional;DefaultParameterValue(null)>] ?Pattern : Pattern,
10921107
[<Optional;DefaultParameterValue(null)>] ?Base : #IConvertible,
10931108
[<Optional;DefaultParameterValue(null)>] ?Width : #IConvertible,
@@ -1109,6 +1124,8 @@ module Chart2D =
11091124
?Name = Name ,
11101125
?ShowLegend = ShowLegend ,
11111126
?Color = Color ,
1127+
?PatternShape = PatternShape ,
1128+
?MultiPatternShape = MultiPatternShape,
11121129
?Pattern = Pattern ,
11131130
?Base = Base ,
11141131
?Width = Width ,
@@ -1133,6 +1150,8 @@ module Chart2D =
11331150
[<Optional;DefaultParameterValue(null)>] ?Name : string ,
11341151
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
11351152
[<Optional;DefaultParameterValue(null)>] ?Color : Color ,
1153+
[<Optional;DefaultParameterValue(null)>] ?PatternShape : StyleParam.PatternShape,
1154+
[<Optional;DefaultParameterValue(null)>] ?MultiPatternShape : seq<StyleParam.PatternShape>,
11361155
[<Optional;DefaultParameterValue(null)>] ?Pattern : Pattern,
11371156
[<Optional;DefaultParameterValue(null)>] ?Base : #IConvertible,
11381157
[<Optional;DefaultParameterValue(null)>] ?Width : #IConvertible,
@@ -1155,6 +1174,8 @@ module Chart2D =
11551174
?ShowLegend = ShowLegend ,
11561175
?Color = Color ,
11571176
?Pattern = Pattern ,
1177+
?PatternShape = PatternShape ,
1178+
?MultiPatternShape = MultiPatternShape,
11581179
?Base = Base ,
11591180
?Width = Width ,
11601181
?MultiWidth = MultiWidth ,
@@ -1178,6 +1199,8 @@ module Chart2D =
11781199
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
11791200
[<Optional;DefaultParameterValue(null)>] ?Color : Color ,
11801201
[<Optional;DefaultParameterValue(null)>] ?Pattern : Pattern,
1202+
[<Optional;DefaultParameterValue(null)>] ?PatternShape : StyleParam.PatternShape,
1203+
[<Optional;DefaultParameterValue(null)>] ?MultiPatternShape : seq<StyleParam.PatternShape>,
11811204
[<Optional;DefaultParameterValue(null)>] ?Base : #IConvertible,
11821205
[<Optional;DefaultParameterValue(null)>] ?Width : #IConvertible,
11831206
[<Optional;DefaultParameterValue(null)>] ?MultiWidth : seq<#IConvertible>,
@@ -1191,16 +1214,22 @@ module Chart2D =
11911214
[<Optional;DefaultParameterValue(null)>] ?Marker : Marker
11921215
) =
11931216

1217+
let pattern =
1218+
Pattern
1219+
|> Option.defaultValue (TraceObjects.Pattern.init())
1220+
|> TraceObjects.Pattern.style(
1221+
?Shape = PatternShape,
1222+
?MultiShape = MultiPatternShape
1223+
)
11941224
let marker =
11951225
Marker
11961226
|> Option.defaultValue (TraceObjects.Marker.init())
11971227
|> TraceObjects.Marker.style(
11981228
?Color = Color,
1199-
?Pattern = Pattern,
1229+
Pattern = pattern,
12001230
?MultiOpacity = MultiOpacity
12011231
)
12021232

1203-
12041233
Trace2D.initBar (
12051234
Trace2DStyle.Bar(
12061235
Y = values,
@@ -1230,6 +1259,8 @@ module Chart2D =
12301259
[<Optional;DefaultParameterValue(null)>] ?Name : string ,
12311260
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
12321261
[<Optional;DefaultParameterValue(null)>] ?Color : Color ,
1262+
[<Optional;DefaultParameterValue(null)>] ?PatternShape : StyleParam.PatternShape,
1263+
[<Optional;DefaultParameterValue(null)>] ?MultiPatternShape : seq<StyleParam.PatternShape>,
12331264
[<Optional;DefaultParameterValue(null)>] ?Pattern : Pattern,
12341265
[<Optional;DefaultParameterValue(null)>] ?Base : #IConvertible,
12351266
[<Optional;DefaultParameterValue(null)>] ?Width : #IConvertible,
@@ -1251,6 +1282,8 @@ module Chart2D =
12511282
?ShowLegend = ShowLegend ,
12521283
?Color = Color ,
12531284
?Pattern = Pattern ,
1285+
?PatternShape = PatternShape ,
1286+
?MultiPatternShape = MultiPatternShape,
12541287
?Base = Base ,
12551288
?Width = Width ,
12561289
?MultiWidth = MultiWidth ,
@@ -1274,6 +1307,8 @@ module Chart2D =
12741307
[<Optional;DefaultParameterValue(null)>] ?Name : string ,
12751308
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
12761309
[<Optional;DefaultParameterValue(null)>] ?Color : Color ,
1310+
[<Optional;DefaultParameterValue(null)>] ?PatternShape : StyleParam.PatternShape,
1311+
[<Optional;DefaultParameterValue(null)>] ?MultiPatternShape : seq<StyleParam.PatternShape>,
12771312
[<Optional;DefaultParameterValue(null)>] ?Pattern : Pattern,
12781313
[<Optional;DefaultParameterValue(null)>] ?Base : #IConvertible,
12791314
[<Optional;DefaultParameterValue(null)>] ?Width : #IConvertible,
@@ -1295,6 +1330,8 @@ module Chart2D =
12951330
?Name = Name ,
12961331
?ShowLegend = ShowLegend ,
12971332
?Color = Color ,
1333+
?PatternShape = PatternShape ,
1334+
?MultiPatternShape = MultiPatternShape,
12981335
?Pattern = Pattern ,
12991336
?Base = Base ,
13001337
?Width = Width ,
@@ -1320,6 +1357,8 @@ module Chart2D =
13201357
[<Optional;DefaultParameterValue(null)>] ?ShowLegend : bool,
13211358
[<Optional;DefaultParameterValue(null)>] ?Color : Color ,
13221359
[<Optional;DefaultParameterValue(null)>] ?Pattern : Pattern,
1360+
[<Optional;DefaultParameterValue(null)>] ?PatternShape : StyleParam.PatternShape,
1361+
[<Optional;DefaultParameterValue(null)>] ?MultiPatternShape : seq<StyleParam.PatternShape>,
13231362
[<Optional;DefaultParameterValue(null)>] ?Base : #IConvertible,
13241363
[<Optional;DefaultParameterValue(null)>] ?Width : #IConvertible,
13251364
[<Optional;DefaultParameterValue(null)>] ?MultiWidth : seq<#IConvertible>,
@@ -1340,6 +1379,8 @@ module Chart2D =
13401379
?Name = Name ,
13411380
?ShowLegend = ShowLegend ,
13421381
?Color = Color ,
1382+
?PatternShape = PatternShape ,
1383+
?MultiPatternShape = MultiPatternShape,
13431384
?Pattern = Pattern ,
13441385
?Base = Base ,
13451386
?Width = Width ,

src/Plotly.NET/Traces/ObjectAbstractions/Pattern.fs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type Pattern () =
1717
/// <param name="FGOpacity">Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is "overlay". Otherwise, defaults to 1.</param>
1818
/// <param name="FillMode">Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.</param>
1919
/// <param name="Shape">Sets the shape of the pattern fill. By default, no pattern is used for filling the area.</param>
20-
/// <param name="MultiShapes">Sets the shape of the pattern fill. By default, no pattern is used for filling the area.</param>
20+
/// <param name="MultiShape">Sets the shape of the pattern fill. By default, no pattern is used for filling the area.</param>
2121
/// <param name="Size">Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.</param>
2222
/// <param name="MultiSize">Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.</param>
2323
/// <param name="Solidity">Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.</param>
@@ -28,7 +28,7 @@ type Pattern () =
2828
?FGOpacity : float,
2929
?FillMode : StyleParam.PatternFillMode,
3030
?Shape : StyleParam.PatternShape,
31-
?MultiShapes: seq<StyleParam.PatternShape>,
31+
?MultiShape : seq<StyleParam.PatternShape>,
3232
?Size : int,
3333
?MultiSize : seq<int>,
3434
?Solidity : float
@@ -41,7 +41,7 @@ type Pattern () =
4141
?FGOpacity = FGOpacity ,
4242
?FillMode = FillMode ,
4343
?Shape = Shape ,
44-
?MultiShapes = MultiShapes,
44+
?MultiShape = MultiShape ,
4545
?Size = Size ,
4646
?MultiSize = MultiSize ,
4747
?Solidity = Solidity
@@ -54,9 +54,9 @@ type Pattern () =
5454
?FGOpacity : float,
5555
?FillMode : StyleParam.PatternFillMode,
5656
?Shape : StyleParam.PatternShape,
57-
?MultiShapes: seq<StyleParam.PatternShape>,
57+
?MultiShape : seq<StyleParam.PatternShape>,
5858
?Size : int,
59-
?MultiSize : seq<int>,
59+
?MultiSize : seq<int>,
6060
?Solidity : float
6161
) =
6262

@@ -66,8 +66,8 @@ type Pattern () =
6666
FGColor |> DynObj.setValueOpt pattern "fgcolor"
6767
FGOpacity |> DynObj.setValueOpt pattern "fgopacity"
6868
FillMode |> DynObj.setValueOptBy pattern "fillmode" StyleParam.PatternFillMode.convert
69-
(Shape, MultiShapes)|> DynObj.setSingleOrMultiOptBy pattern "shape" StyleParam.PatternShape.convert
70-
(Size, MultiSize) |> DynObj.setSingleOrMultiOpt pattern "size"
69+
(Shape, MultiShape) |> DynObj.setSingleOrMultiOptBy pattern "shape" StyleParam.PatternShape.convert
70+
(Size, MultiSize) |> DynObj.setSingleOrMultiOpt pattern "size"
7171
Solidity |> DynObj.setValueOpt pattern "solidity"
7272

7373
pattern

tests/Plotly.NET.Tests/HtmlCodegen/SimpleCharts.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,29 +107,29 @@ let stackedColumnChart =
107107
let ``Bar and column charts`` =
108108
testList "SimpleCharts.Bar and column charts" [
109109
testCase "Column chart data" ( fun () ->
110-
"""var data = [{"type":"bar","x":["Product A","Product B","Product C"],"y":[20,14,23],"orientation":"v","marker":{}}];"""
110+
"""var data = [{"type":"bar","x":["Product A","Product B","Product C"],"y":[20,14,23],"orientation":"v","marker":{"pattern":{}}}];"""
111111
|> chartGeneratedContains columnChart
112112
);
113113
testCase "Column chart layout" ( fun () ->
114114
emptyLayout columnChart
115115
);
116116
testCase "Bar chart data" ( fun () ->
117-
"var data = [{\"type\":\"bar\",\"x\":[20,14,23],\"y\":[\"Product A\",\"Product B\",\"Product C\"],\"orientation\":\"h\",\"marker\":{}}];"
117+
"""var data = [{"type":"bar","x":[20,14,23],"y":["Product A","Product B","Product C"],"orientation":"h","marker":{"pattern":{}}}];"""
118118
|> chartGeneratedContains barChart
119119
);
120120
testCase "Bar chart layout" ( fun () ->
121121
emptyLayout barChart
122122
);
123123
testCase "Stacked bar data" ( fun () ->
124-
"""var data = [{"type":"bar","name":"old","x":[20,14,23],"y":["Product A","Product B","Product C"],"orientation":"h","marker":{}},{"type":"bar","name":"new","x":[8,21,13],"y":["Product A","Product B","Product C"],"orientation":"h","marker":{}}];"""
124+
"""var data = [{"type":"bar","name":"old","x":[20,14,23],"y":["Product A","Product B","Product C"],"orientation":"h","marker":{"pattern":{}}},{"type":"bar","name":"new","x":[8,21,13],"y":["Product A","Product B","Product C"],"orientation":"h","marker":{"pattern":{}}}];"""
125125
|> chartGeneratedContains stackedBarChart
126126
);
127127
testCase "Stacked bar layout" ( fun () ->
128128
"var layout = {\"barmode\":\"stack\"};"
129129
|> chartGeneratedContains stackedColumnChart
130130
);
131131
testCase "Stacked column data" ( fun () ->
132-
"""var data = [{"type":"bar","name":"old","x":["Product A","Product B","Product C"],"y":[20,14,23],"orientation":"v","marker":{}},{"type":"bar","name":"new","x":["Product A","Product B","Product C"],"y":[8,21,13],"orientation":"v","marker":{}}];"""
132+
"""var data = [{"type":"bar","name":"old","x":["Product A","Product B","Product C"],"y":[20,14,23],"orientation":"v","marker":{"pattern":{}}},{"type":"bar","name":"new","x":["Product A","Product B","Product C"],"y":[8,21,13],"orientation":"v","marker":{"pattern":{}}}];"""
133133
|> chartGeneratedContains stackedColumnChart
134134
);
135135
testCase "Stacked column layout" ( fun () ->

0 commit comments

Comments
 (0)