You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"""var data = [{"type":"scatter3d","mode":"markers+text","x":[1,6,7],"y":[3,5,9],"z":[2,4,8],"marker":{"size":[20,40,30]},"text":["A","B","C"],"textposition":"top left"}];"""
if n <=2then failwithf "n needs to be larger then 2"
73
-
letbw= float (max - min)/(float n -1.)
74
-
Array.init n (fun i -> min +(bw * float i))
75
-
135
+
76
136
//---------------------- Create example data ----------------------
77
137
letsize=100
78
138
letx= linspace(-2.* Math.PI,2.* Math.PI, size)
@@ -127,13 +187,6 @@ let ``Surface charts`` =
127
187
128
188
129
189
letmeshChart=
130
-
letlinspace(min,max,n)=
131
-
if n <=2then failwithf "n needs to be larger then 2"
132
-
letbw= float (max - min)/(float n -1.)
133
-
Array.init n (fun i -> min +(bw * float i))
134
-
//[|min ..bw ..max|]
135
-
136
-
//---------------------- Create example data ----------------------
137
190
letsize=100
138
191
letx= linspace(-2.* Math.PI,2.* Math.PI, size)
139
192
lety= linspace(-2.* Math.PI,2.* Math.PI, size)
@@ -173,4 +226,94 @@ let ``Mesh charts`` =
173
226
testCase "Mesh layout"(fun()->
174
227
emptyLayout meshChart
175
228
);
176
-
]
229
+
]
230
+
231
+
letconeChart=
232
+
Chart.Cone(
233
+
x =[1;1;1],
234
+
y =[1;2;3],
235
+
z =[1;1;1],
236
+
u =[1;2;3],
237
+
v =[1;1;2],
238
+
w =[4;4;1],
239
+
ColorScale = StyleParam.Colorscale.Viridis
240
+
)
241
+
242
+
[<Tests>]
243
+
let``Cone charts`` =
244
+
testList "Charts3D.Cone charts"[
245
+
testCase "Cone data"(fun()->
246
+
"""var data = [{"type":"cone","x":[1,1,1],"y":[1,2,3],"z":[1,1,1],"u":[1,2,3],"v":[1,1,2],"w":[4,4,1],"colorscale":"Viridis"}];"""
247
+
|> chartGeneratedContains coneChart
248
+
);
249
+
testCase "Cone layout"(fun()->
250
+
emptyLayout coneChart
251
+
);
252
+
]
253
+
254
+
letstreamTubeChart=
255
+
Chart.StreamTube(
256
+
x =[0;0;0],
257
+
y =[0;1;2],
258
+
z =[0;0;0],
259
+
u =[0;0;0],
260
+
v =[1;1;1],
261
+
w =[0;0;0],
262
+
ColorScale = StyleParam.Colorscale.Viridis
263
+
)
264
+
265
+
[<Tests>]
266
+
let``StreamTube charts`` =
267
+
testList "StreamTube.Volume charts"[
268
+
testCase "Volume data"(fun()->
269
+
"""var data = [{"type":"streamtube","x":[0,0,0],"y":[0,1,2],"z":[0,0,0],"u":[0,0,0],"v":[1,1,1],"w":[0,0,0],"colorscale":"Viridis"}];"""
270
+
|> chartGeneratedContains streamTubeChart
271
+
);
272
+
testCase "Volume layout"(fun()->
273
+
emptyLayout streamTubeChart
274
+
);
275
+
]
276
+
277
+
letvolumeChart=
278
+
letx,y,z = mgrid(1.,2.,4)
279
+
Chart.Volume(
280
+
x |> Array.concat |> Array.concat |> Array.map (fun x -> Math.Round(x,3)),
281
+
y |> Array.concat |> Array.concat |> Array.map (fun x -> Math.Round(x,3)),
282
+
z |> Array.concat |> Array.concat |> Array.map (fun x -> Math.Round(x,3)),
283
+
z |> Array.concat |> Array.concat |> Array.map (fun x -> Math.Round(x,3)),
284
+
ColorScale = StyleParam.Colorscale.Viridis
285
+
)
286
+
287
+
[<Tests>]
288
+
let``Volume charts`` =
289
+
testList "Charts3D.Volume charts"[
290
+
testCase "Volume data"(fun()->
291
+
"""var data = [{"type":"volume","x":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0],"y":[1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0],"z":[1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0],"value":[1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0],"colorscale":"Viridis"}];"""
292
+
|> chartGeneratedContains volumeChart
293
+
);
294
+
testCase "Volume layout"(fun()->
295
+
emptyLayout volumeChart
296
+
);
297
+
]
298
+
299
+
letisoSurfaceChart=
300
+
letx,y,z = mgrid(1.,2.,4)
301
+
Chart.IsoSurface(
302
+
x |> Array.concat |> Array.concat |> Array.map (fun x -> Math.Round(x,3)),
303
+
y |> Array.concat |> Array.concat |> Array.map (fun x -> Math.Round(x,3)),
304
+
z |> Array.concat |> Array.concat |> Array.map (fun x -> Math.Round(x,3)),
305
+
z |> Array.concat |> Array.concat |> Array.map (fun x -> Math.Round(x,3)),
306
+
ColorScale = StyleParam.Colorscale.Viridis
307
+
)
308
+
309
+
[<Tests>]
310
+
let``IsoSurface charts`` =
311
+
testList "Charts3D.IsoSurface charts"[
312
+
testCase "IsoSurface data"(fun()->
313
+
"""var data = [{"type":"isosurface","x":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0],"y":[1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0,1.0,1.0,1.0,1.0,1.333,1.333,1.333,1.333,1.667,1.667,1.667,1.667,2.0,2.0,2.0,2.0],"z":[1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0],"value":[1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0,1.0,1.333,1.667,2.0],"colorscale":"Viridis"}];"""
0 commit comments