diff --git a/Plotly.NET.sln b/Plotly.NET.sln
index ffbb0d4f..fa1bb8d0 100644
--- a/Plotly.NET.sln
+++ b/Plotly.NET.sln
@@ -140,6 +140,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04_distribution-charts", "0
docs\distribution-charts\point-density.fsx = docs\distribution-charts\point-density.fsx
docs\distribution-charts\splom.fsx = docs\distribution-charts\splom.fsx
docs\distribution-charts\violin-plots.fsx = docs\distribution-charts\violin-plots.fsx
+ docs\distribution-charts\residual.fsx = docs\distribution-charts\residual.fsx
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01_chart-layout", "01_chart-layout", "{C7D0EF67-9A18-49DD-AC79-944E384BD8D0}"
diff --git a/docs/distribution-charts/residual.fsx b/docs/distribution-charts/residual.fsx
new file mode 100644
index 00000000..13cf5791
--- /dev/null
+++ b/docs/distribution-charts/residual.fsx
@@ -0,0 +1,74 @@
+(**
+---
+title: Residual chart
+category: Distribution Charts
+categoryindex: 5
+index: 10
+---
+*)
+
+(*** hide ***)
+
+(*** condition: prepare ***)
+#r "nuget: Newtonsoft.JSON, 13.0.3"
+#r "nuget: DynamicObj, 7.0.1"
+#r "nuget: Giraffe.ViewEngine.StrongName, 2.0.0-alpha1"
+#r "../../src/Plotly.NET/bin/Release/netstandard2.0/Plotly.NET.dll"
+
+Plotly.NET.Defaults.DefaultDisplayOptions <-
+ Plotly.NET.DisplayOptions.init (PlotlyJSReference = Plotly.NET.PlotlyJSReference.NoReference)
+
+(*** condition: ipynb ***)
+#if IPYNB
+#r "nuget: Plotly.NET, {{fsdocs-package-version}}"
+#r "nuget: Plotly.NET.Interactive, {{fsdocs-package-version}}"
+#endif // IPYNB
+
+(**
+# Residual chart
+
+[](https://mybinder.org/v2/gh/plotly/plotly.net/gh-pages?urlpath=/tree/home/jovyan/{{fsdocs-source-basename}}.ipynb)
+[]({{root}}{{fsdocs-source-basename}}.ipynb)
+
+*Summary:* This example shows how to create a Residual (or Lollipop) chart in F#.
+
+Let's first create some data for the purpose of creating example charts:
+
+*)
+
+open Plotly.NET
+
+let ydata =
+ [9.;25.;-73.;-30.;3.;35.;-35.;9.;-3.;33.;17.;25.;-15.;38.;-2.;36.;29.;-23.;15.;19]
+let mean = Seq.average ydata
+
+let xy = Seq.indexed ydata
+
+(**
+## What is a Residual (Lollipop) Chart?
+
+A Residual or Lollipop chart is a type of chart that showcases the deviation of values to a reference value, often the **mean**, **median**, or a custom threshold.
+
+- Each observation is represented by a **dot** connected to the reference line by a **line segment**.
+- This type of visualization is useful for identifying **patterns**, **outliers**, or **distribution skewness** in relation to a central value.
+- This approach is also helpful when visualizing residuals in regression models to assess **SSR (Sum of Squared Residuals)**, or highlight deviations to measures like **R²**.
+*)
+
+let residualChart =
+ Chart.Residual(
+ xy=xy,
+ referenceValue = mean,
+ MarkerColor = Color.fromString "purple",
+ LineColor = Color.fromString "blue",
+ ReferenceColor = Color.fromString "black"
+ )
+
+(*** condition: ipynb ***)
+#if IPYNB
+residualChart
+#endif // IPYNB
+
+(***hide***)
+residualChart |> GenericChart.toChartHTML
+(***include-it-raw***)
+
diff --git a/src/Plotly.NET/ChartAPI/Chart2D.fs b/src/Plotly.NET/ChartAPI/Chart2D.fs
index 3be2daff..df425be0 100644
--- a/src/Plotly.NET/ChartAPI/Chart2D.fs
+++ b/src/Plotly.NET/ChartAPI/Chart2D.fs
@@ -6014,4 +6014,539 @@ module Chart2D =
, ?Label: string
, ?ShowGrid: bool
) =
- Chart.Pareto(Seq.zip labels values, ?Name=Name, ?Label=Label, ?ShowGrid=ShowGrid)
\ No newline at end of file
+ Chart.Pareto(Seq.zip labels values, ?Name=Name, ?Label=Label, ?ShowGrid=ShowGrid)
+
+ /// Displays a residue Chart by displaying the y values in relation to the provided reference Values.
+ /// Sets the x coordinates of the plotted data.
+ /// Sets the y coordinates of the plotted data for the Y value.
+ /// Sets the y coordinates for reference Y value.
+ /// Sets the trace name of the Y values. The trace name appear as the legend item and on hover
+ /// Sets the trace name of the reference Y values. The trace name appear as the legend item and on hover
+ /// Sets the name of the legendgroup for the data distribution trace of this plot.
+ /// Sets the name of the legendgroup for the reference trace of this plot.
+ /// Determines whether or not an To show markers for each datum.
+ /// Determines whether or not an item corresponding to this trace is shown in the legend.
+ /// Sets a text associated with each datum for the Y values.
+ /// Sets individual text for each datum for the Y values.
+ /// Sets the position of text associated with each datum
+ /// Sets the position of text associated with individual datum
+ /// Sets the color of the marker for the Y values.
+ /// Sets the colorscale of the marker for the Y values.
+ /// Sets the outline of the marker for the Y values.
+ /// Sets the marker symbol for each datum for the Y values.
+ /// Sets the marker symbol for each individual datum for the Y values.
+ /// Sets the marker (use this for more finegrained control than the other marker-associated arguments) for the Y values.
+ /// Sets the size of the datapoint markers for the Y values.
+ /// Sets the color of the line for the Y values.
+ /// Sets the colorscale of the line for the Y values.
+ /// Sets the width of the line for the Y values.
+ /// sets the drawing style of the line for the Y values.
+ /// Sets the line (use this for more finegrained control than the other line-associated arguments) for the Y values.
+ /// Sets if the reference Line should be visible.
+ /// Sets the line (use this for more finegrained control than the other line-associated arguments) for the reference Y values.
+ /// Sets the width of the line for the reference Y values.
+ /// Sets the color of the line for the reference Y values.
+ /// Sets a text associated with each datum for the reference Y values.
+ /// Sets individual text for each datum for the reference Y values.
+ /// Sets the position of text associated with each reference datum.
+ /// Sets the position of text associated with each individual reference datum
+ /// Sets the font used for `text` in Text.
+ /// If set to false, ignore the global default settings set in `Defaults`
+ []
+ static member Residual
+ (
+ x: seq<#IConvertible>,
+ y: seq<#IConvertible>,
+ reference: seq<#IConvertible>,
+ ?Name: string,
+ ?ReferenceName: string,
+ ?LegendGroupData: string,
+ ?LegendGroupReference: string,
+ ?ShowMarkers: bool,
+ ?ShowLegend: bool,
+ ?Text: #IConvertible,
+ ?MultiText: seq<#IConvertible>,
+ ?TextPosition: StyleParam.TextPosition,
+ ?MultiTextPosition: seq,
+ ?MarkerColor: Color,
+ ?MarkerColorScale: StyleParam.Colorscale,
+ ?MarkerOutline: Line,
+ ?MarkerSymbol: StyleParam.MarkerSymbol,
+ ?MultiMarkerSymbol: seq,
+ ?Marker: Marker,
+ ?MarkerSize: int,
+ ?LineColor: Color,
+ ?LineColorScale: StyleParam.Colorscale,
+ ?LineWidth: float,
+ ?LineDash: StyleParam.DrawingStyle,
+ ?Line: Line,
+ ?ShowReference: bool,
+ ?ReferenceLine: Line,
+ ?ReferenceWidth: int,
+ ?ReferenceColor: Color,
+ ?ReferenceText: #IConvertible,
+ ?MultiReferenceText: seq<#IConvertible>,
+ ?ReferenceTextPosition: StyleParam.TextPosition,
+ ?MultiReferenceTextPosition: seq,
+ ?TextFont: Font,
+ ?UseDefaults: bool
+ ) =
+
+ let useDefaults =
+ defaultArg UseDefaults true
+
+ let referenceName = defaultArg ReferenceName "Reference Line"
+
+ // if text position or font is set than show labels (not only when hovering)
+ let changeMode =
+ let isShowMarker =
+ match ShowMarkers with
+ | Some isShow -> isShow
+ | Option.None -> false
+
+ StyleParam.ModeUtils.showText (TextPosition.IsSome || TextFont.IsSome)
+ >> StyleParam.ModeUtils.showMarker (isShowMarker)
+
+ let showReference =
+ let showBool =
+ match ShowReference with
+ | Some showRef -> showRef
+ | None -> true
+ if showBool then
+ StyleParam.Visible.True
+ else
+ StyleParam.Visible.False
+
+ let markerSize = defaultArg MarkerSize 10
+
+ let (data,pointS) =
+ Seq.zip3 x y reference
+ |> Seq.collect(fun (x,y,refV) ->
+ [
+ (x,refV),0
+ (x,y),markerSize
+ (x,refV),0
+ ]
+ )
+ |> Array.ofSeq
+ |> Array.unzip
+
+ let (x1,y1) = Array.unzip data
+
+ let marker =
+ defaultArg
+ Marker
+ (TraceObjects.Marker.init(
+ MultiSize=pointS,
+ Opacity=1.,
+ ?Color = MarkerColor,
+ ?Colorscale = MarkerColorScale,
+ ?Outline = MarkerOutline,
+ ?Symbol = MarkerSymbol,
+ ?MultiSymbol = MultiMarkerSymbol
+ ))
+
+ let trace =
+ Chart.Scatter(
+ x = x1,
+ y = y1,
+ mode = changeMode StyleParam.Mode.Lines_Markers,
+ Opacity = 1.,
+ Marker = marker,
+ ?Name = Name,
+ ?ShowLegend = ShowLegend,
+ ?Text = Text,
+ ?MultiText = MultiText,
+ ?TextPosition = TextPosition,
+ ?MultiTextPosition = MultiTextPosition,
+ ?LineColor = LineColor,
+ ?LineColorScale = LineColorScale,
+ ?LineWidth = LineWidth,
+ ?LineDash = LineDash,
+ ?Line = Line
+ )
+ |> GenericChart.mapTrace (
+ Trace2DStyle.Scatter(
+ ?LegendGroup = LegendGroupData
+ )
+ )
+
+ let referenceLine =
+ Trace2D.initScatter(
+ Trace2DStyle.Scatter(
+ X = x,
+ Y = reference,
+ Mode = StyleParam.Mode.Lines,
+ ?Name = Some referenceName,
+ ?Visible = Some showReference,
+ ?ShowLegend = ShowLegend,
+ ?Text = ReferenceText,
+ ?MultiText = MultiReferenceText,
+ ?TextPosition = ReferenceTextPosition,
+ ?MultiTextPosition = MultiReferenceTextPosition,
+ ?Line = ReferenceLine,
+ ?LegendGroup = LegendGroupReference
+ )
+ )
+ |> TraceStyle.Marker(
+ Color = defaultArg ReferenceColor (Plotly.NET.Color.fromString "rgba(0, 0, 0, 1)"),
+ Size = defaultArg ReferenceWidth 10
+ )
+
+ GenericChart.ofTraceObjects
+ useDefaults
+ [
+ yield! (GenericChart.getTraces trace)
+ referenceLine
+ ]
+
+
+ /// Displays a residue Chart by displaying the y values in relation to the provided reference Values.
+ /// Sets the x and y coordinates of the plotted data.
+ /// Sets the y coordinates for reference Y value.
+ /// Sets the trace name of the Y values. The trace name appear as the legend item and on hover
+ /// Sets the trace name of the reference Y values. The trace name appear as the legend item and on hover
+ /// Sets the name of the legendgroup for the data distribution trace of this plot.
+ /// Sets the name of the legendgroup for the reference trace of this plot.
+ /// Determines whether or not an To show markers for each datum.
+ /// Determines whether or not an item corresponding to this trace is shown in the legend.
+ /// Sets a text associated with each datum for the Y values.
+ /// Sets individual text for each datum for the Y values.
+ /// Sets the position of text associated with each datum
+ /// Sets the position of text associated with individual datum
+ /// Sets the color of the marker for the Y values.
+ /// Sets the colorscale of the marker for the Y values.
+ /// Sets the outline of the marker for the Y values.
+ /// Sets the marker symbol for each datum for the Y values.
+ /// Sets the marker symbol for each individual datum for the Y values.
+ /// Sets the marker (use this for more finegrained control than the other marker-associated arguments) for the Y values.
+ /// Sets the size of the datapoint markers for the Y values.
+ /// Sets the color of the line for the Y values.
+ /// Sets the colorscale of the line for the Y values.
+ /// Sets the width of the line for the Y values.
+ /// sets the drawing style of the line for the Y values.
+ /// Sets the line (use this for more finegrained control than the other line-associated arguments) for the Y values.
+ /// Sets if the reference Line should be visible.
+ /// Sets the line (use this for more finegrained control than the other line-associated arguments) for the reference Y values.
+ /// Sets the width of the line for the reference Y values.
+ /// Sets the color of the line for the reference Y values.
+ /// Sets a text associated with each datum for the reference Y values.
+ /// Sets individual text for each datum for the reference Y values.
+ /// Sets the position of text associated with each reference datum.
+ /// Sets the position of text associated with each individual reference datum
+ /// Sets the font used for `text` in Text.
+ /// If set to false, ignore the global default settings set in `Defaults`
+ []
+ static member Residual
+ (
+ xy: seq<#IConvertible*#IConvertible>,
+ reference: seq<#IConvertible>,
+ ?Name: string,
+ ?ReferenceName: string,
+ ?LegendGroupData: string,
+ ?LegendGroupReference: string,
+ ?ShowMarkers: bool,
+ ?ShowLegend: bool,
+ ?Text: #IConvertible,
+ ?MultiText: seq<#IConvertible>,
+ ?TextPosition: StyleParam.TextPosition,
+ ?MultiTextPosition: seq,
+ ?MarkerColor: Color,
+ ?MarkerColorScale: StyleParam.Colorscale,
+ ?MarkerOutline: Line,
+ ?MarkerSymbol: StyleParam.MarkerSymbol,
+ ?MultiMarkerSymbol: seq,
+ ?Marker: Marker,
+ ?MarkerSize: int,
+ ?LineColor: Color,
+ ?LineColorScale: StyleParam.Colorscale,
+ ?LineWidth: float,
+ ?LineDash: StyleParam.DrawingStyle,
+ ?Line: Line,
+ ?ShowReference: bool,
+ ?ReferenceLine: Line,
+ ?ReferenceWidth: int,
+ ?ReferenceColor: Color,
+ ?ReferenceText: #IConvertible,
+ ?MultiReferenceText: seq<#IConvertible>,
+ ?ReferenceTextPosition: StyleParam.TextPosition,
+ ?MultiReferenceTextPosition: seq,
+ ?TextFont: Font,
+ ?UseDefaults: bool
+ ) =
+
+ let (x,y) = Seq.unzip xy
+ Chart.Residual
+ (
+ x = x,
+ y = y,
+ reference = reference,
+ ?Name = Name,
+ ?ReferenceName = ReferenceName,
+ ?LegendGroupData = LegendGroupData,
+ ?LegendGroupReference = LegendGroupReference,
+ ?ShowMarkers = ShowMarkers,
+ ?ShowLegend = ShowLegend,
+ ?Text = Text,
+ ?MultiText = MultiText,
+ ?TextPosition = TextPosition,
+ ?MultiTextPosition = MultiTextPosition,
+ ?MarkerColor = MarkerColor,
+ ?MarkerColorScale = MarkerColorScale,
+ ?MarkerOutline = MarkerOutline,
+ ?MarkerSymbol = MarkerSymbol,
+ ?MultiMarkerSymbol = MultiMarkerSymbol,
+ ?Marker = Marker,
+ ?MarkerSize = MarkerSize,
+ ?LineColor = LineColor,
+ ?LineColorScale = LineColorScale,
+ ?LineWidth = LineWidth,
+ ?LineDash = LineDash,
+ ?Line = Line,
+ ?ShowReference = ShowReference,
+ ?ReferenceLine = ReferenceLine,
+ ?ReferenceWidth = ReferenceWidth,
+ ?ReferenceColor = ReferenceColor,
+ ?ReferenceText = ReferenceText,
+ ?MultiReferenceText = MultiReferenceText,
+ ?ReferenceTextPosition = ReferenceTextPosition,
+ ?MultiReferenceTextPosition = MultiReferenceTextPosition,
+ ?TextFont = TextFont,
+ ?UseDefaults = UseDefaults
+ )
+
+
+ /// Displays a residue Chart by displaying the y values in relation to the provided reference Values.
+ /// Sets the x and y coordinates of the plotted data.
+ /// Sets the y coordinate for reference Y value.
+ /// Sets the trace name of the Y values. The trace name appear as the legend item and on hover
+ /// Sets the trace name of the reference Y values. The trace name appear as the legend item and on hover
+ /// Sets the name of the legendgroup for the data distribution trace of this plot.
+ /// Sets the name of the legendgroup for the reference trace of this plot.
+ /// Determines whether or not an To show markers for each datum.
+ /// Determines whether or not an item corresponding to this trace is shown in the legend.
+ /// Sets a text associated with each datum for the Y values.
+ /// Sets individual text for each datum for the Y values.
+ /// Sets the position of text associated with each datum
+ /// Sets the position of text associated with individual datum
+ /// Sets the color of the marker for the Y values.
+ /// Sets the colorscale of the marker for the Y values.
+ /// Sets the outline of the marker for the Y values.
+ /// Sets the marker symbol for each datum for the Y values.
+ /// Sets the marker symbol for each individual datum for the Y values.
+ /// Sets the marker (use this for more finegrained control than the other marker-associated arguments) for the Y values.
+ /// Sets the size of the datapoint markers for the Y values.
+ /// Sets the color of the line for the Y values.
+ /// Sets the colorscale of the line for the Y values.
+ /// Sets the width of the line for the Y values.
+ /// sets the drawing style of the line for the Y values.
+ /// Sets the line (use this for more finegrained control than the other line-associated arguments) for the Y values.
+ /// Sets if the reference Line should be visible.
+ /// Sets the line (use this for more finegrained control than the other line-associated arguments) for the reference Y values.
+ /// Sets the width of the line for the reference Y values.
+ /// Sets the color of the line for the reference Y values.
+ /// Sets a text associated with each datum for the reference Y values.
+ /// Sets individual text for each datum for the reference Y values.
+ /// Sets the position of text associated with each reference datum.
+ /// Sets the position of text associated with each individual reference datum
+ /// Sets the font used for `text` in Text.
+ /// If set to false, ignore the global default settings set in `Defaults`
+ []
+ static member Residual
+ (
+ xy: seq<#IConvertible*#IConvertible>,
+ referenceValue: #IConvertible,
+ ?Name: string,
+ ?ReferenceName: string,
+ ?LegendGroupData :string,
+ ?LegendGroupReference :string,
+ ?ShowMarkers: bool,
+ ?ShowLegend: bool,
+ ?Text: #IConvertible,
+ ?MultiText: seq<#IConvertible>,
+ ?TextPosition: StyleParam.TextPosition,
+ ?MultiTextPosition: seq,
+ ?MarkerColor: Color,
+ ?MarkerColorScale: StyleParam.Colorscale,
+ ?MarkerOutline: Line,
+ ?MarkerSymbol: StyleParam.MarkerSymbol,
+ ?MultiMarkerSymbol: seq,
+ ?Marker: Marker,
+ ?MarkerSize: int,
+ ?LineColor: Color,
+ ?LineColorScale: StyleParam.Colorscale,
+ ?LineWidth: float,
+ ?LineDash: StyleParam.DrawingStyle,
+ ?Line: Line,
+ ?ShowReference: bool,
+ ?ReferenceLine: Line,
+ ?ReferenceWidth: int,
+ ?ReferenceColor: Color,
+ ?ReferenceText: #IConvertible,
+ ?MultiReferenceText: seq<#IConvertible>,
+ ?ReferenceTextPosition: StyleParam.TextPosition,
+ ?MultiReferenceTextPosition: seq,
+ ?TextFont: Font,
+ ?UseDefaults: bool
+ ) =
+
+ let (x,y) = Seq.unzip xy
+ let reference = Seq.map(fun x -> referenceValue) x
+ Chart.Residual
+ (
+ x = x,
+ y = y,
+ reference = reference,
+ ?Name = Name,
+ ?ReferenceName = ReferenceName,
+ ?LegendGroupData = LegendGroupData,
+ ?LegendGroupReference = LegendGroupReference,
+ ?ShowMarkers = ShowMarkers,
+ ?ShowLegend = ShowLegend,
+ ?Text = Text,
+ ?MultiText = MultiText,
+ ?TextPosition = TextPosition,
+ ?MultiTextPosition = MultiTextPosition,
+ ?MarkerColor = MarkerColor,
+ ?MarkerColorScale = MarkerColorScale,
+ ?MarkerOutline = MarkerOutline,
+ ?MarkerSymbol = MarkerSymbol,
+ ?MultiMarkerSymbol = MultiMarkerSymbol,
+ ?Marker = Marker,
+ ?MarkerSize = MarkerSize,
+ ?LineColor = LineColor,
+ ?LineColorScale = LineColorScale,
+ ?LineWidth = LineWidth,
+ ?LineDash = LineDash,
+ ?Line = Line,
+ ?ShowReference = ShowReference,
+ ?ReferenceLine = ReferenceLine,
+ ?ReferenceWidth = ReferenceWidth,
+ ?ReferenceColor = ReferenceColor,
+ ?ReferenceText = ReferenceText,
+ ?MultiReferenceText = MultiReferenceText,
+ ?ReferenceTextPosition = ReferenceTextPosition,
+ ?MultiReferenceTextPosition = MultiReferenceTextPosition,
+ ?TextFont = TextFont,
+ ?UseDefaults = UseDefaults
+ )
+
+
+ ///
+ /// Displays a residue Chart by displaying the y values in relation to the provided reference Values.
+ ///
+ ///
+ /// Sets the x coordinates of the plotted data.
+ /// Sets the y coordinates of the plotted data.
+ /// Sets the y coordinate for reference Y value.
+ /// Sets the trace name of the Y values. The trace name appear as the legend item and on hover
+ /// Sets the trace name of the reference Y values. The trace name appear as the legend item and on hover
+ /// Sets the name of the legendgroup for the data distribution trace of this plot.
+ /// Sets the name of the legendgroup for the reference trace of this plot.
+ /// Determines whether or not an To show markers for each datum.
+ /// Determines whether or not an item corresponding to this trace is shown in the legend.
+ /// Sets a text associated with each datum for the Y values.
+ /// Sets individual text for each datum for the Y values.
+ /// Sets the position of text associated with each datum
+ /// Sets the position of text associated with individual datum
+ /// Sets the color of the marker for the Y values.
+ /// Sets the colorscale of the marker for the Y values.
+ /// Sets the outline of the marker for the Y values.
+ /// Sets the marker symbol for each datum for the Y values.
+ /// Sets the marker symbol for each individual datum for the Y values.
+ /// Sets the marker (use this for more finegrained control than the other marker-associated arguments) for the Y values.
+ /// Sets the size of the datapoint markers for the Y values.
+ /// Sets the color of the line for the Y values.
+ /// Sets the colorscale of the line for the Y values.
+ /// Sets the width of the line for the Y values.
+ /// sets the drawing style of the line for the Y values.
+ /// Sets the line (use this for more finegrained control than the other line-associated arguments) for the Y values.
+ /// Sets if the reference Line should be visible.
+ /// Sets the line (use this for more finegrained control than the other line-associated arguments) for the reference Y values.
+ /// Sets the width of the line for the reference Y values.
+ /// Sets the color of the line for the reference Y values.
+ /// Sets a text associated with each datum for the reference Y values.
+ /// Sets individual text for each datum for the reference Y values.
+ /// Sets the position of text associated with each reference datum.
+ /// Sets the position of text associated with each individual reference datum
+ /// Sets the font used for `text` in Text.
+ /// If set to false, ignore the global default settings set in `Defaults`
+ []
+ static member Residual
+ (
+ x: seq<#IConvertible>,
+ y: seq<#IConvertible>,
+ referenceValue: #IConvertible,
+ ?Name: string,
+ ?ReferenceName: string,
+ ?LegendGroupData: string,
+ ?LegendGroupReference: string,
+ ?ShowMarkers: bool,
+ ?ShowLegend: bool,
+ ?Text: #IConvertible,
+ ?MultiText: seq<#IConvertible>,
+ ?TextPosition: StyleParam.TextPosition,
+ ?MultiTextPosition: seq,
+ ?MarkerColor: Color,
+ ?MarkerColorScale: StyleParam.Colorscale,
+ ?MarkerOutline: Line,
+ ?MarkerSymbol: StyleParam.MarkerSymbol,
+ ?MultiMarkerSymbol: seq,
+ ?Marker: Marker,
+ ?MarkerSize: int,
+ ?LineColor: Color,
+ ?LineColorScale: StyleParam.Colorscale,
+ ?LineWidth: float,
+ ?LineDash: StyleParam.DrawingStyle,
+ ?Line: Line,
+ ?ShowReference: bool,
+ ?ReferenceLine: Line,
+ ?ReferenceWidth: int,
+ ?ReferenceColor: Color,
+ ?ReferenceText: #IConvertible,
+ ?MultiReferenceText: seq<#IConvertible>,
+ ?ReferenceTextPosition: StyleParam.TextPosition,
+ ?MultiReferenceTextPosition: seq,
+ ?TextFont: Font,
+ ?UseDefaults: bool
+ ) =
+
+ let reference = Seq.map(fun x -> referenceValue) x
+ Chart.Residual
+ (
+ x = x,
+ y = y,
+ reference = reference,
+ ?Name = Name,
+ ?ReferenceName = ReferenceName,
+ ?LegendGroupData = LegendGroupData,
+ ?LegendGroupReference = LegendGroupReference,
+ ?ShowMarkers = ShowMarkers,
+ ?ShowLegend = ShowLegend,
+ ?Text = Text,
+ ?MultiText = MultiText,
+ ?TextPosition = TextPosition,
+ ?MultiTextPosition = MultiTextPosition,
+ ?MarkerColor = MarkerColor,
+ ?MarkerColorScale = MarkerColorScale,
+ ?MarkerOutline = MarkerOutline,
+ ?MarkerSymbol = MarkerSymbol,
+ ?MultiMarkerSymbol = MultiMarkerSymbol,
+ ?Marker = Marker,
+ ?MarkerSize = MarkerSize,
+ ?LineColor = LineColor,
+ ?LineColorScale = LineColorScale,
+ ?LineWidth = LineWidth,
+ ?LineDash = LineDash,
+ ?Line = Line,
+ ?ShowReference = ShowReference,
+ ?ReferenceLine = ReferenceLine,
+ ?ReferenceWidth = ReferenceWidth,
+ ?ReferenceColor = ReferenceColor,
+ ?ReferenceText = ReferenceText,
+ ?MultiReferenceText = MultiReferenceText,
+ ?ReferenceTextPosition = ReferenceTextPosition,
+ ?MultiReferenceTextPosition = MultiReferenceTextPosition,
+ ?TextFont = TextFont,
+ ?UseDefaults = UseDefaults
+ )
\ No newline at end of file