Skip to content

Commit 950dcdc

Browse files
committed
Add scatter polar C# binding
1 parent 7e0b58a commit 950dcdc

File tree

1 file changed

+103
-0
lines changed

1 file changed

+103
-0
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using Plotly.NET;
7+
using Plotly.NET.LayoutObjects;
8+
using Plotly.NET.TraceObjects;
9+
10+
namespace Plotly.NET.CSharp
11+
{
12+
public static partial class Chart
13+
{
14+
/// <summary>
15+
/// Creates a polar scatter plot.
16+
///
17+
/// In general, ScatterPolar plots plot two-dimensional data on a polar coordinate system comprised of angular and radial position scales.
18+
///
19+
/// ScatterPolar charts are the basis of PointPolar, LinePolar, SplinePolar, and BubblePolar Charts, and can be customized as such. We also provide abstractions for those: Chart.PointPolar, Chart.LinePolar, Chart.SplinePolar , Chart.BubblePolar
20+
/// </summary>
21+
/// <param name="r">Sets the radial coordinates of the plotted data</param>
22+
/// <param name="theta">Sets the angular coordinates of the plotted data (in degrees)</param>
23+
/// <param name="mode">Determines the drawing mode for this scatter trace.</param>
24+
/// <param name="Name">Sets the trace name. The trace name appear as the legend item and on hover</param>
25+
/// <param name="ShowLegend">Determines whether or not an item corresponding to this trace is shown in the legend.</param>
26+
/// <param name="Opacity">Sets the opactity of the trace</param>
27+
/// <param name="MultiOpacity">Sets the opactity of individual datum markers</param>
28+
/// <param name="Text">Sets a text associated with each datum</param>
29+
/// <param name="MultiText">Sets individual text for each datum</param>
30+
/// <param name="TextPosition">Sets the position of text associated with each datum</param>
31+
/// <param name="MultiTextPosition">Sets the position of text associated with individual datum</param>
32+
/// <param name="MarkerColor">Sets the color of the marker</param>
33+
/// <param name="MarkerColorScale">Sets the colorscale of the marker</param>
34+
/// <param name="MarkerOutline">Sets the outline of the marker</param>
35+
/// <param name="MarkerSymbol">Sets the marker symbol for each datum</param>
36+
/// <param name="MultiMarkerSymbol">Sets the marker symbol for each individual datum</param>
37+
/// <param name="Marker">Sets the marker (use this for more finegrained control than the other marker-associated arguments)</param>
38+
/// <param name="LineColor">Sets the color of the line</param>
39+
/// <param name="LineColorScale">Sets the colorscale of the line</param>
40+
/// <param name="LineWidth">Sets the width of the line</param>
41+
/// <param name="LineDash">sets the drawing style of the line</param>
42+
/// <param name="Line">Sets the line (use this for more finegrained control than the other line-associated arguments)</param>
43+
/// <param name="UseWebGL">If true, plotly.js will use the WebGL engine to render this chart. use this when you want to render many objects at once.</param>
44+
/// <param name="UseDefaults">If set to false, ignore the global default settings set in `Defaults`</param>
45+
public static GenericChart.GenericChart ScatterPolar<RType, ThetaType, TextType>(
46+
IEnumerable<RType> r,
47+
IEnumerable<ThetaType> theta,
48+
StyleParam.Mode mode,
49+
string? Name,
50+
bool? ShowLegend,
51+
double? Opacity,
52+
IEnumerable<double>? MultiOpacity,
53+
TextType? Text,
54+
IEnumerable<TextType>? MultiText,
55+
StyleParam.TextPosition? TextPosition,
56+
IEnumerable<StyleParam.TextPosition>? MultiTextPosition,
57+
Color? MarkerColor,
58+
StyleParam.Colorscale? MarkerColorScale,
59+
Line? MarkerOutline,
60+
StyleParam.MarkerSymbol3D? MarkerSymbol,
61+
IEnumerable<StyleParam.MarkerSymbol3D>? MultiMarkerSymbol,
62+
Marker? Marker,
63+
Color? LineColor,
64+
StyleParam.Colorscale? LineColorScale,
65+
double? LineWidth,
66+
StyleParam.DrawingStyle? LineDash,
67+
Line? Line,
68+
bool? UseWebGL,
69+
bool? UseDefaults
70+
)
71+
where RType : IConvertible
72+
where ThetaType : IConvertible
73+
where TextType : class, IConvertible
74+
75+
=>
76+
Plotly.NET.ChartPolar.Chart.ScatterPolar<RType, ThetaType, TextType>(
77+
r: r,
78+
theta: theta,
79+
mode: mode,
80+
Name: Helpers.ToOption(Name),
81+
ShowLegend: Helpers.ToOptionV(ShowLegend),
82+
Opacity: Helpers.ToOptionV(Opacity),
83+
MultiOpacity: Helpers.ToOption(MultiOpacity),
84+
Text: Helpers.ToOption(Text),
85+
MultiText: Helpers.ToOption(MultiText),
86+
TextPosition: Helpers.ToOption(TextPosition),
87+
MultiTextPosition: Helpers.ToOption(MultiTextPosition),
88+
MarkerColor: Helpers.ToOption(MarkerColor),
89+
MarkerColorScale: Helpers.ToOption(MarkerColorScale),
90+
MarkerOutline: Helpers.ToOption(MarkerOutline),
91+
MarkerSymbol: Helpers.ToOption(MarkerSymbol),
92+
MultiMarkerSymbol: Helpers.ToOption(MultiMarkerSymbol),
93+
Marker: Helpers.ToOption(Marker),
94+
LineColor: Helpers.ToOption(LineColor),
95+
LineColorScale: Helpers.ToOption(LineColorScale),
96+
LineWidth: Helpers.ToOptionV(LineWidth),
97+
LineDash: Helpers.ToOption(LineDash),
98+
Line: Helpers.ToOption(Line),
99+
UseWebGL: Helpers.ToOptionV(UseWebGL),
100+
UseDefaults: Helpers.ToOptionV(UseDefaults)
101+
);
102+
}
103+
}

0 commit comments

Comments
 (0)