graphinglib.FitFromFunction#

class graphinglib.FitFromFunction(function: Callable, curve_to_be_fit: Curve | Scatter, label: str | None = None, guesses: TypeAliasForwardRef('ArrayLike') | None = None, color: str | Inherit = Inherit, line_width: int | Inherit = Inherit, line_style: str | Inherit = Inherit, alpha: float | Inherit = Inherit, max_iterations: int = 10000)[source]#

Create a curve fit (continuous Curve) from a Curve object using an arbitrary function passed as an argument.

Fits a function of the form \(f(x, a, b, c, ...)\) to the given curve. All standard Curve attributes and methods are available.

Parameters:
functionCallable

Function to be passed to the curve_fit function.

curve_to_be_fitCurve or Scatter

The object to be fit.

labelstr, optional

Label to be displayed in the legend.

guessesArrayLike, optional

Initial guesses for the parameters of the fit. Order is a, b, c, …

colorstr

Color of the curve. Default depends on the figure_style configuration.

line_widthint

Line width of the curve. Typical range is 0.5 to 4. Default depends on the figure_style configuration.

line_stylestr

Line style of the curve. Values include "-", "--", "-.", ":", "solid", "dashed", "dashdot", and "dotted". Default depends on the figure_style configuration.

alphafloat

Opacity of the curve. Range is 0 (transparent) to 1 (opaque). Default depends on the figure_style configuration.

max_iterationsint

Maximum number of iterations for the fit. Default is 10000.

Attributes:
parametersnp.ndarray

Parameters of the fit (same order as guesses).

cov_matrixnp.ndarray

Covariance matrix of the parameters of the fit.

standard_deviationnp.ndarray

Standard deviation of the parameters of the fit.

functionCallable

Function with the parameters of the fit.

Notes

Color parameters accept Matplotlib color formats: named colors ("blue"), short color strings ("b"), hex strings ("#0000ff"), grayscale strings ("0.5"), and RGB/RGBA tuples with values between 0 and 1 ((0, 0, 1) or (0, 0, 1, 0.5)).

Methods

__init__(function, curve_to_be_fit[, label, ...])

Create a curve fit (continuous Curve) from a Curve object using an arbitrary function passed as an argument.

add_error_curves([y_error, ...])

Adds error curves to the Curve.

add_errorbars([x_error, y_error, cap_width, ...])

Adds errorbars to the Curve.

copy()

Returns a deep copy of the Curve.

copy_with(**kwargs)

Returns a deep copy of the Plottable with specified attributes overridden.

create_derivative_curve([label, color, ...])

Creates a new curve which is the derivative of the original curve.

create_integral_curve([initial_value, ...])

Creates a new curve which is the integral of the original curve.

create_intersection_points(other[, labels, ...])

Creates the intersection Points between two curves.

create_normal_curve(x[, label, color, ...])

Creates a new curve which is the normal to the original curve at a given x value.

create_point_at_x(x[, label, face_color, ...])

Gets the point on the curve at a given x value.

create_points_at_y(y[, interpolation_kind, ...])

Creates the Points on the curve at a given y value.

create_slice_x(x1, x2[, label, color, ...])

Creates a slice of the curve between two x values.

create_slice_y(y1, y2[, label, color, ...])

Creates a slice of the curve between two y values.

create_tangent_curve(x[, label, color, ...])

Creates a new curve which is the tangent to the original curve at a given x value.

from_function(func, x_min, x_max[, label, ...])

Creates a Curve from a function and a range of x values.

get_Rsquared()

Calculates the \(R^2\) value of the fit curve.

get_arc_length_between(x1, x2)

Calculates the arc length of the curve between two x values.

get_area_between(x1, x2[, fill_between, ...])

Calculates the area between the curve and the x axis between two x values.

get_coordinates_at_x(x)

Gets the coordinates of the curve at a given x value.

get_coordinates_at_y(y[, interpolation_method])

Gets the coordinates of the curve at a given y value.

get_intersection_coordinates(other)

Calculates the coordinates of the intersection points between two curves.

get_residuals()

Calculates the residuals of the fit curve.

get_slope_at(x)

Calculates the slope of the curve at a given x value.

show_residual_curves([sigma_multiplier, ...])

Displays two curves "sigma_multiplier" standard deviations above and below the fit curve.

to_desmos([decimal_precision, to_clipboard])

Gives the data points in a Desmos-readable format.